summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--README22
1 files changed, 6 insertions, 16 deletions
diff --git a/README b/README
index 1692ad6..5a7bdf8 100644
--- a/README
+++ b/README
@@ -1,95 +1,85 @@
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
11Building cgit involves building a proper version of git. How to do this 11Building cgit involves building a proper version of git. How to do this
12depends on how you obtained the cgit sources: 12depends on how you obtained the cgit sources:
13 13
14a) If you're working in a cloned cgit repository, you first need to 14a) If you're working in a cloned cgit repository, you first need to
15initialize and update the git submodule: 15initialize 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
21b) If you're building from a cgit tarball, you can download a proper git 21b) If you're building from a cgit tarball, you can download a proper git
22version like this: 22version like this:
23 23
24 $ make get-git 24 $ make get-git
25 25
26 26
27When either a) or b) has been performed, you can build and install cgit like 27When either a) or b) has been performed, you can build and install cgit like
28this: 28this:
29 29
30 $ make 30 $ make
31 $ sudo make install 31 $ sudo make install
32 32
33This will install cgit.cgi and cgit.css into "/var/www/htdocs/cgit". You can 33This will install cgit.cgi and cgit.css into "/var/www/htdocs/cgit". You can
34configure this location (and a few other things) by providing a "cgit.conf" 34configure this location (and a few other things) by providing a "cgit.conf"
35file (see the Makefile for details). 35file (see the Makefile for details).
36 36
37 37
38Dependencies: 38Dependencies:
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
45Apache configuration 45Apache configuration
46 46
47A new Directory-section must probably be added for cgit, possibly something 47A new Directory-section must probably be added for cgit, possibly something
48like this: 48like 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
58Runtime configuration 58Runtime configuration
59 59
60The file /etc/cgitrc is read by cgit before handling a request. In addition 60The file /etc/cgitrc is read by cgit before handling a request. In addition
61to runtime parameters, this file also contains a list of the repositories 61to runtime parameters, this file may also contain a list of repositories
62displayed by cgit. 62displayed by cgit (see cgitrc.5.txt for further details).
63
64A template cgitrc is shipped with the sources, and all parameters and default
65values are documented in this file.
66 63
67 64
68The cache 65The cache
69 66
70When cgit is invoked it looks for a cachefile matching the request and 67When cgit is invoked it looks for a cachefile matching the request and
71returns it to the client. If no such cachefile exist (or if it has expired), 68returns it to the client. If no such cachefile exist (or if it has expired),
72the content for the request is written into the proper cachefile before the 69the content for the request is written into the proper cachefile before the
73file is returned. 70file is returned.
74 71
75If the cachefile has expired but cgit is unable to obtain a lock for it, the 72If the cachefile has expired but cgit is unable to obtain a lock for it, the
76stale cachefile is returned to the client. This is done to favour page 73stale cachefile is returned to the client. This is done to favour page
77throughput over page freshness. 74throughput over page freshness.
78 75
79The generated content contains the complete response to the client, including 76The generated content contains the complete response to the client, including
80the http-headers "Modified" and "Expires". 77the http-headers "Modified" and "Expires".
81 78
82 79
83The missing features 80Online 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
94Patches/bugreports/suggestions/comments are always welcome, please feel free 84* Patches, bugreports, discussions and support should go to the cgit
95to contact the author: hjemli@gmail.com 85 mailing list: cgit@hjemli.net