all repos — cgit @ ac70cb4795c90db02917db63d169b0fadfe9fb99

a hyperfast web frontend for git written in c

README (view raw)

 1
 2                       cgit - cgi for git
 3
 4
 5This is an attempt to create a fast web interface for the git scm, using a
 6builtin cache to decrease server io-pressure.
 7
 8
 9Installation
10
11  $ make gitsrc=<path>
12  $ su
13  $ make prefix=<path> install
14
15
16Default value for gitsrc is "../git", and this directory should contain the
17git sources.
18
19Default value for prefix is "/var/www/htdocs/cgit". This directory will 
20contain "cgit.cgi" and "cgit.css" after 'make install'.
21
22After installation, httpd.conf probably must be updated with a Directory-
23section for cgit, possibly something like this:
24
25  <Directory "/var/www/htdocs/cgit/">
26      AllowOverride None
27      Options ExecCGI
28      Order allow,deny
29      Allow from all
30  </Directory>
31
32
33Runtime configuration
34
35The 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 
37displayed by cgit.
38
39A template cgitrc is shipped with the sources, and all parameters and default
40values are documented in this file. 
41
42
43The cache
44
45When 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), 
47the content for the request is written into the proper cachefile before the
48file is returned.
49
50If 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
52throughput over page freshness.
53
54The generated content contains the complete response to the client, including
55the http-headers "Modified" and "Expires".