summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--README52
1 files changed, 39 insertions, 13 deletions
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
5This is an attempt to create a fast web interface for the git scm, using a 5This is an attempt to create a fast web interface for the git scm, using a
6builtin cache to decrease server io-pressure. 6builtin cache to decrease server io-pressure.
7 7
8 8
9Installation 9Installation
10 10
11 $ make gitsrc=<path> 11 $ make
12 $ su 12 $ su
13 $ make prefix=<path> install 13 $ make install
14 14
15This will install cgit.cgi and cgit.css into "/var/www/htdocs/cgit".
15 16
16Default value for gitsrc is "../git", and this directory should contain the 17Note: The initial "make" will create a submodule 'git' and clone the git
17git sources. 18repository at git://git.kernel.org/pub/scm/git/git.git in it. If you
19already have a local git git repository that you want to use as origin
20for the submodule, run
18 21
19Default value for prefix is "/var/www/htdocs/cgit". This directory will 22 $ git clone -s <path-to-git-repo> git
20contain "cgit.cgi" and "cgit.css" after 'make install'. 23 $ ./submodules.sh -u
21 24
22After installation, httpd.conf probably must be updated with a Directory- 25before running "make".
23section for cgit, possibly something like this: 26
27
28Dependencies
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
36Apache configuration
37
38A new Directory-section must probably be added for cgit, possibly something
39like 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
33Runtime configuration 49Runtime configuration
34 50
35The file /etc/cgitrc is read by cgit before handling a request. In addition 51The file /etc/cgitrc is read by cgit before handling a request. In addition
36to runtime parameters, this file also contains a list of the repositories 52to runtime parameters, this file also contains a list of the repositories
37displayed by cgit. 53displayed by cgit.
38 54
39A template cgitrc is shipped with the sources, and all parameters and default 55A template cgitrc is shipped with the sources, and all parameters and default
40values are documented in this file. 56values are documented in this file.
41 57
42 58
43The cache 59The cache
44 60
45When cgit is invoked it looks for a cachefile matching the request and 61When cgit is invoked it looks for a cachefile matching the request and
46returns it to the client. If no such cachefile exist (or if it has expired), 62returns it to the client. If no such cachefile exist (or if it has expired),
47the content for the request is written into the proper cachefile before the 63the content for the request is written into the proper cachefile before the
48file is returned. 64file is returned.
49 65
50If the cachefile has expired but cgit is unable to obtain a lock for it, the 66If the cachefile has expired but cgit is unable to obtain a lock for it, the
51stale cachefile is returned to the client. This is done to favour page 67stale cachefile is returned to the client. This is done to favour page
52throughput over page freshness. 68throughput over page freshness.
53 69
54The generated content contains the complete response to the client, including 70The generated content contains the complete response to the client, including
55the http-headers "Modified" and "Expires". 71the http-headers "Modified" and "Expires".
72
73
74The mis(sing) features
75
76Submodule links in the directory listing page have a fixed format per
77repository. This should probably be extended to a generic map between
78submodule path and url.
79
80
81The end.