diff options
Diffstat (limited to 'README')
-rw-r--r-- | README | 82 |
1 files changed, 41 insertions, 41 deletions
@@ -1,86 +1,86 @@ | |||
1 | cgit - CGI for Git | ||
2 | ================== | ||
1 | 3 | ||
2 | cgit - cgi for git | 4 | This is an attempt to create a fast web interface for the Git SCM, using a |
3 | 5 | built-in cache to decrease server I/O pressure. | |
4 | |||
5 | This is an attempt to create a fast web interface for the git scm, using a | ||
6 | builtin cache to decrease server io-pressure. | ||
7 | |||
8 | 6 | ||
9 | Installation | 7 | Installation |
8 | ------------ | ||
10 | 9 | ||
11 | Building cgit involves building a proper version of git. How to do this | 10 | Building cgit involves building a proper version of Git. How to do this |
12 | depends on how you obtained the cgit sources: | 11 | depends on how you obtained the cgit sources: |
13 | 12 | ||
14 | a) If you're working in a cloned cgit repository, you first need to | 13 | a) If you're working in a cloned cgit repository, you first need to |
15 | initialize and update the git submodule: | 14 | initialize and update the Git submodule: |
16 | 15 | ||
17 | $ git submodule init # register the git submodule in .git/config | 16 | $ git submodule init # register the Git submodule in .git/config |
18 | $ $EDITOR .git/config # if you want to specify a different url for git | 17 | $ $EDITOR .git/config # if you want to specify a different url for git |
19 | $ git submodule update # clone/fetch and checkout correct git version | 18 | $ git submodule update # clone/fetch and checkout correct git version |
20 | 19 | ||
21 | b) If you're building from a cgit tarball, you can download a proper git | 20 | b) If you're building from a cgit tarball, you can download a proper git |
22 | version like this: | 21 | version like this: |
23 | 22 | ||
24 | $ make get-git | 23 | $ make get-git |
25 | |||
26 | 24 | ||
27 | When either a) or b) has been performed, you can build and install cgit like | 25 | When either a) or b) has been performed, you can build and install cgit like |
28 | this: | 26 | this: |
29 | 27 | ||
30 | $ make | 28 | $ make |
31 | $ sudo make install | 29 | $ sudo make install |
32 | 30 | ||
33 | This will install cgit.cgi and cgit.css into "/var/www/htdocs/cgit". You can | 31 | This will install `cgit.cgi` and `cgit.css` into `/var/www/htdocs/cgit`. You |
34 | configure this location (and a few other things) by providing a "cgit.conf" | 32 | can configure this location (and a few other things) by providing a `cgit.conf` |
35 | file (see the Makefile for details). | 33 | file (see the Makefile for details). |
36 | 34 | ||
35 | Dependencies | ||
36 | ------------ | ||
37 | 37 | ||
38 | Dependencies: | 38 | * git 1.7.4 |
39 | -git 1.7.4 | 39 | * zip lib |
40 | -zip lib | 40 | * crypto lib |
41 | -crypto lib | 41 | * openssl lib |
42 | -openssl lib | ||
43 | |||
44 | 42 | ||
45 | Apache configuration | 43 | Apache configuration |
44 | -------------------- | ||
46 | 45 | ||
47 | A new Directory-section must probably be added for cgit, possibly something | 46 | A new `Directory` section must probably be added for cgit, possibly something |
48 | like this: | 47 | like this: |
49 | 48 | ||
50 | <Directory "/var/www/htdocs/cgit/"> | 49 | <Directory "/var/www/htdocs/cgit/"> |
51 | AllowOverride None | 50 | AllowOverride None |
52 | Options +ExecCGI | 51 | Options +ExecCGI |
53 | Order allow,deny | 52 | Order allow,deny |
54 | Allow from all | 53 | Allow from all |
55 | </Directory> | 54 | </Directory> |
56 | 55 | ||
57 | 56 | ||
58 | Runtime configuration | 57 | Runtime configuration |
58 | --------------------- | ||
59 | 59 | ||
60 | The file /etc/cgitrc is read by cgit before handling a request. In addition | 60 | The file `/etc/cgitrc` is read by cgit before handling a request. In addition |
61 | to runtime parameters, this file may also contain a list of repositories | 61 | to runtime parameters, this file may also contain a list of repositories |
62 | displayed by cgit (see cgitrc.5.txt for further details). | 62 | displayed by cgit (see `cgitrc.5.txt` for further details). |
63 | |||
64 | 63 | ||
65 | The cache | 64 | The cache |
65 | --------- | ||
66 | 66 | ||
67 | When cgit is invoked it looks for a cachefile matching the request and | 67 | When cgit is invoked it looks for a cache file matching the request and |
68 | returns it to the client. If no such cachefile exist (or if it has expired), | 68 | returns it to the client. If no such cache file exists (or if it has expired), |
69 | the content for the request is written into the proper cachefile before the | 69 | the content for the request is written into the proper cache file before the |
70 | file is returned. | 70 | file is returned. |
71 | 71 | ||
72 | If the cachefile has expired but cgit is unable to obtain a lock for it, the | 72 | If the cache file has expired but cgit is unable to obtain a lock for it, the |
73 | stale cachefile is returned to the client. This is done to favour page | 73 | stale cache file is returned to the client. This is done to favour page |
74 | throughput over page freshness. | 74 | throughput over page freshness. |
75 | 75 | ||
76 | The generated content contains the complete response to the client, including | 76 | The generated content contains the complete response to the client, including |
77 | the http-headers "Modified" and "Expires". | 77 | the HTTP headers `Modified` and `Expires`. |
78 | |||
79 | 78 | ||
80 | Online presence | 79 | Online presence |
80 | --------------- | ||
81 | 81 | ||
82 | * The cgit homepage is hosted by cgit at <http://git.zx2c4.com/cgit/about/> | 82 | * The cgit homepage is hosted by cgit at <http://git.zx2c4.com/cgit/about/> |
83 | 83 | ||
84 | * Patches, bugreports, discussions and support should go to the cgit | 84 | * Patches, bug reports, discussions and support should go to the cgit |
85 | mailing list: <cgit@lists.zx2c4.com>. To sign up, visit | 85 | mailing list: <cgit@lists.zx2c4.com>. To sign up, visit |
86 | <http://lists.zx2c4.com/mailman/listinfo/cgit> | 86 | <http://lists.zx2c4.com/mailman/listinfo/cgit> |