|
diff --git a/README b/README index a14418e..6d661d8 100644 --- a/ README+++ b/ README |
|
@@ -1,55 +1,81 @@ |
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 | $ make gitsrc=<path> |
11 | $ make |
12 | $ su |
12 | $ su |
13 | $ make prefix=<path> install |
13 | $ make install |
14 | |
14 | |
| |
15 | This will install cgit.cgi and cgit.css into "/var/www/htdocs/cgit". |
15 | |
16 | |
16 | Default value for gitsrc is "../git", and this directory should contain the |
17 | Note: The initial "make" will create a submodule 'git' and clone the git |
17 | git sources. |
18 | repository at git://git.kernel.org/pub/scm/git/git.git in it. If you |
| |
19 | already have a local git git repository that you want to use as origin |
| |
20 | for the submodule, run |
18 | |
21 | |
19 | Default value for prefix is "/var/www/htdocs/cgit". This directory will |
22 | $ git clone -s <path-to-git-repo> git |
20 | contain "cgit.cgi" and "cgit.css" after 'make install'. |
23 | $ ./submodules.sh -u |
21 | |
24 | |
22 | After installation, httpd.conf probably must be updated with a Directory- |
25 | before running "make". |
23 | section for cgit, possibly something like this: |
26 | |
| |
27 | |
| |
28 | Dependencies |
| |
29 | |
| |
30 | -git (1.5.2-rc0 or newer, due to git submodule) installed |
| |
31 | -zip lib |
| |
32 | -crypto lib |
| |
33 | -openssl lib |
| |
34 | |
| |
35 | |
| |
36 | Apache configuration |
| |
37 | |
| |
38 | A new Directory-section must probably be added for cgit, possibly something |
| |
39 | like this: |
24 | |
40 | |
25 | <Directory "/var/www/htdocs/cgit/"> |
41 | <Directory "/var/www/htdocs/cgit/"> |
26 | AllowOverride None |
42 | AllowOverride None |
27 | Options ExecCGI |
43 | Options ExecCGI |
28 | Order allow,deny |
44 | Order allow,deny |
29 | Allow from all |
45 | Allow from all |
30 | </Directory> |
46 | </Directory> |
31 | |
47 | |
32 | |
48 | |
33 | Runtime configuration |
49 | Runtime configuration |
34 | |
50 | |
35 | The file /etc/cgitrc is read by cgit before handling a request. In addition |
51 | The file /etc/cgitrc is read by cgit before handling a request. In addition |
36 | to runtime parameters, this file also contains a list of the repositories |
52 | to runtime parameters, this file also contains a list of the repositories |
37 | displayed by cgit. |
53 | displayed by cgit. |
38 | |
54 | |
39 | A template cgitrc is shipped with the sources, and all parameters and default |
55 | A template cgitrc is shipped with the sources, and all parameters and default |
40 | values are documented in this file. |
56 | values are documented in this file. |
41 | |
57 | |
42 | |
58 | |
43 | The cache |
59 | The cache |
44 | |
60 | |
45 | When cgit is invoked it looks for a cachefile matching the request and |
61 | When cgit is invoked it looks for a cachefile matching the request and |
46 | returns it to the client. If no such cachefile exist (or if it has expired), |
62 | returns it to the client. If no such cachefile exist (or if it has expired), |
47 | the content for the request is written into the proper cachefile before the |
63 | the content for the request is written into the proper cachefile before the |
48 | file is returned. |
64 | file is returned. |
49 | |
65 | |
50 | If the cachefile has expired but cgit is unable to obtain a lock for it, the |
66 | If the cachefile has expired but cgit is unable to obtain a lock for it, the |
51 | stale cachefile is returned to the client. This is done to favour page |
67 | stale cachefile is returned to the client. This is done to favour page |
52 | throughput over page freshness. |
68 | throughput over page freshness. |
53 | |
69 | |
54 | The generated content contains the complete response to the client, including |
70 | The generated content contains the complete response to the client, including |
55 | the http-headers "Modified" and "Expires". |
71 | the http-headers "Modified" and "Expires". |
| |
72 | |
| |
73 | |
| |
74 | The mis(sing) features |
| |
75 | |
| |
76 | Submodule links in the directory listing page have a fixed format per |
| |
77 | repository. This should probably be extended to a generic map between |
| |
78 | submodule path and url. |
| |
79 | |
| |
80 | |
| |
81 | The end. |
|