all repos — cgit @ 5db39170b6c979655a0238dcd627e206febed88b

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
12  $ su
13  $ make install
14
15This will install cgit.cgi and cgit.css into "/var/www/htdocs/cgit".
16
17Note: The initial "make" will create a submodule 'git' and clone the git
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
21
22  $ git clone -s <path-to-git-repo> git
23  $ ./submodules.sh -u
24
25before running "make".
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:
40
41  <Directory "/var/www/htdocs/cgit/">
42      AllowOverride None
43      Options ExecCGI
44      Order allow,deny
45      Allow from all
46  </Directory>
47
48
49Runtime configuration
50
51The file /etc/cgitrc is read by cgit before handling a request. In addition
52to runtime parameters, this file also contains a list of the repositories
53displayed by cgit.
54
55A template cgitrc is shipped with the sources, and all parameters and default
56values are documented in this file.
57
58
59The cache
60
61When cgit is invoked it looks for a cachefile matching the request and
62returns it to the client. If no such cachefile exist (or if it has expired),
63the content for the request is written into the proper cachefile before the
64file is returned.
65
66If the cachefile has expired but cgit is unable to obtain a lock for it, the
67stale cachefile is returned to the client. This is done to favour page
68throughput over page freshness.
69
70The generated content contains the complete response to the client, including
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.