author | Lars Hjemli <hjemli@gmail.com> | 2011-06-13 13:24:46 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2011-06-13 13:27:32 (UTC) |
commit | 2a0c9dcbe81db150bd778ce1ea1aff550d198c4d (patch) (unidiff) | |
tree | ca374e65b4e2ec692d3330ff6b2008465d6a880e | |
parent | 978275222307f6a23dba5b093189f162a7ec2351 (diff) | |
download | cgit-2a0c9dcbe81db150bd778ce1ea1aff550d198c4d.zip cgit-2a0c9dcbe81db150bd778ce1ea1aff550d198c4d.tar.gz cgit-2a0c9dcbe81db150bd778ce1ea1aff550d198c4d.tar.bz2 |
README: update some stale information/add some new
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | README | 22 |
1 files changed, 6 insertions, 16 deletions
@@ -1,95 +1,85 @@ | |||
1 | 1 | ||
2 | cgit - cgi for git | 2 | cgit - cgi for git |
3 | 3 | ||
4 | 4 | ||
5 | This is an attempt to create a fast web interface for the git scm, using a | 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. | 6 | builtin cache to decrease server io-pressure. |
7 | 7 | ||
8 | 8 | ||
9 | Installation | 9 | Installation |
10 | 10 | ||
11 | Building cgit involves building a proper version of git. How to do this | 11 | Building cgit involves building a proper version of git. How to do this |
12 | depends on how you obtained the cgit sources: | 12 | depends on how you obtained the cgit sources: |
13 | 13 | ||
14 | a) If you're working in a cloned cgit repository, you first need to | 14 | a) If you're working in a cloned cgit repository, you first need to |
15 | initialize and update the git submodule: | 15 | initialize and update the git submodule: |
16 | 16 | ||
17 | $ git submodule init # register the git submodule in .git/config | 17 | $ git submodule init # register the git submodule in .git/config |
18 | $ $EDITOR .git/config # if you want to specify a different url for git | 18 | $ $EDITOR .git/config # if you want to specify a different url for git |
19 | $ git submodule update # clone/fetch and checkout correct git version | 19 | $ git submodule update # clone/fetch and checkout correct git version |
20 | 20 | ||
21 | b) If you're building from a cgit tarball, you can download a proper git | 21 | b) If you're building from a cgit tarball, you can download a proper git |
22 | version like this: | 22 | version like this: |
23 | 23 | ||
24 | $ make get-git | 24 | $ make get-git |
25 | 25 | ||
26 | 26 | ||
27 | When either a) or b) has been performed, you can build and install cgit like | 27 | When either a) or b) has been performed, you can build and install cgit like |
28 | this: | 28 | this: |
29 | 29 | ||
30 | $ make | 30 | $ make |
31 | $ sudo make install | 31 | $ sudo make install |
32 | 32 | ||
33 | This will install cgit.cgi and cgit.css into "/var/www/htdocs/cgit". You can | 33 | This will install cgit.cgi and cgit.css into "/var/www/htdocs/cgit". You can |
34 | configure this location (and a few other things) by providing a "cgit.conf" | 34 | configure this location (and a few other things) by providing a "cgit.conf" |
35 | file (see the Makefile for details). | 35 | file (see the Makefile for details). |
36 | 36 | ||
37 | 37 | ||
38 | Dependencies: | 38 | Dependencies: |
39 | -git 1.7.4 | 39 | -git 1.7.4 |
40 | -zip lib | 40 | -zip lib |
41 | -crypto lib | 41 | -crypto lib |
42 | -openssl lib | 42 | -openssl lib |
43 | 43 | ||
44 | 44 | ||
45 | Apache configuration | 45 | Apache configuration |
46 | 46 | ||
47 | A new Directory-section must probably be added for cgit, possibly something | 47 | A new Directory-section must probably be added for cgit, possibly something |
48 | like this: | 48 | like this: |
49 | 49 | ||
50 | <Directory "/var/www/htdocs/cgit/"> | 50 | <Directory "/var/www/htdocs/cgit/"> |
51 | AllowOverride None | 51 | AllowOverride None |
52 | Options +ExecCGI | 52 | Options +ExecCGI |
53 | Order allow,deny | 53 | Order allow,deny |
54 | Allow from all | 54 | Allow from all |
55 | </Directory> | 55 | </Directory> |
56 | 56 | ||
57 | 57 | ||
58 | Runtime configuration | 58 | Runtime configuration |
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 also contains a list of the repositories | 61 | to runtime parameters, this file may also contain a list of repositories |
62 | displayed by cgit. | 62 | displayed by cgit (see cgitrc.5.txt for further details). |
63 | |||
64 | A template cgitrc is shipped with the sources, and all parameters and default | ||
65 | values are documented in this file. | ||
66 | 63 | ||
67 | 64 | ||
68 | The cache | 65 | The cache |
69 | 66 | ||
70 | When cgit is invoked it looks for a cachefile matching the request and | 67 | When cgit is invoked it looks for a cachefile matching the request and |
71 | returns it to the client. If no such cachefile exist (or if it has expired), | 68 | returns it to the client. If no such cachefile exist (or if it has expired), |
72 | the content for the request is written into the proper cachefile before the | 69 | the content for the request is written into the proper cachefile before the |
73 | file is returned. | 70 | file is returned. |
74 | 71 | ||
75 | If the cachefile has expired but cgit is unable to obtain a lock for it, the | 72 | If the cachefile has expired but cgit is unable to obtain a lock for it, the |
76 | stale cachefile is returned to the client. This is done to favour page | 73 | stale cachefile is returned to the client. This is done to favour page |
77 | throughput over page freshness. | 74 | throughput over page freshness. |
78 | 75 | ||
79 | The generated content contains the complete response to the client, including | 76 | The generated content contains the complete response to the client, including |
80 | the http-headers "Modified" and "Expires". | 77 | the http-headers "Modified" and "Expires". |
81 | 78 | ||
82 | 79 | ||
83 | The missing features | 80 | Online presence |
84 | |||
85 | * Submodule links in the directory listing page have a fixed format per | ||
86 | repository. This should probably be extended to a generic map between | ||
87 | submodule path and url. | ||
88 | |||
89 | * The log-page should have more/better search options (author, committer, | ||
90 | pickaxe, paths) and possibly support arbitrary revision specifiers. | ||
91 | 81 | ||
92 | * A set of test-scripts is required before cgit-1.0 can be released. | 82 | * The cgit homepage is hosted by cgit at http://hjemli.net/git/cgit/about |
93 | 83 | ||
94 | Patches/bugreports/suggestions/comments are always welcome, please feel free | 84 | * Patches, bugreports, discussions and support should go to the cgit |
95 | to contact the author: hjemli@gmail.com | 85 | mailing list: cgit@hjemli.net |