summaryrefslogtreecommitdiffabout
authorLars Hjemli <hjemli@gmail.com>2007-09-04 09:49:40 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2007-09-04 09:53:54 (UTC)
commitbd8e8a3d709204646a4f1ee9d81cce1cdd912de9 (patch) (unidiff)
tree63f57fa0b2ee94c0da84e377f1aa49e593f308b5
parent0de21a8d4176f15b4185a2e083787eeb05d95a77 (diff)
downloadcgit-bd8e8a3d709204646a4f1ee9d81cce1cdd912de9.zip
cgit-bd8e8a3d709204646a4f1ee9d81cce1cdd912de9.tar.gz
cgit-bd8e8a3d709204646a4f1ee9d81cce1cdd912de9.tar.bz2
Update README
Add new build instructions, extend the "Missing features" section and add a note about patches/email address of the author. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--README57
1 files changed, 39 insertions, 18 deletions
diff --git a/README b/README
index 6d661d8..73ec332 100644
--- a/README
+++ b/README
@@ -1,81 +1,102 @@
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 11Building cgit involves building a proper version of git. How to do this
12 $ su 12depends on how you obtained the cgit sources:
13 $ make install 13
14a) If you're working in a cloned cgit repository, you first need to
15initialize and update the git submodule:
16
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
19 $ git submodule update # clone/fetch and checkout correct git version
20
21b) If you're building from a cgit tarball, you can download a proper git
22version like this:
14 23
15This will install cgit.cgi and cgit.css into "/var/www/htdocs/cgit". 24 $ make get-git
16 25
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 26
22 $ git clone -s <path-to-git-repo> git 27When either a) or b) has been performed, you can build and install cgit like
23 $ ./submodules.sh -u 28this:
24 29
25before running "make". 30 $ make
31 $ sudo make install
26 32
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"
35file (see the Makefile for details).
27 36
28Dependencies
29 37
30 -git (1.5.2-rc0 or newer, due to git submodule) installed 38Dependencies:
39 -git 1.5.3
31 -zip lib 40 -zip lib
32 -crypto lib 41 -crypto lib
33 -openssl lib 42 -openssl lib
34 43
35 44
36Apache configuration 45Apache configuration
37 46
38A new Directory-section must probably be added for cgit, possibly something 47A new Directory-section must probably be added for cgit, possibly something
39like this: 48like this:
40 49
41 <Directory "/var/www/htdocs/cgit/"> 50 <Directory "/var/www/htdocs/cgit/">
42 AllowOverride None 51 AllowOverride None
43 Options ExecCGI 52 Options ExecCGI
44 Order allow,deny 53 Order allow,deny
45 Allow from all 54 Allow from all
46 </Directory> 55 </Directory>
47 56
48 57
49Runtime configuration 58Runtime configuration
50 59
51The 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
52to runtime parameters, this file also contains a list of the repositories 61to runtime parameters, this file also contains a list of the repositories
53displayed by cgit. 62displayed by cgit.
54 63
55A template cgitrc is shipped with the sources, and all parameters and default 64A template cgitrc is shipped with the sources, and all parameters and default
56values are documented in this file. 65values are documented in this file.
57 66
58 67
59The cache 68The cache
60 69
61When cgit is invoked it looks for a cachefile matching the request and 70When 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), 71returns 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 72the content for the request is written into the proper cachefile before the
64file is returned. 73file is returned.
65 74
66If the cachefile has expired but cgit is unable to obtain a lock for it, the 75If 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 76stale cachefile is returned to the client. This is done to favour page
68throughput over page freshness. 77throughput over page freshness.
69 78
70The generated content contains the complete response to the client, including 79The generated content contains the complete response to the client, including
71the http-headers "Modified" and "Expires". 80the http-headers "Modified" and "Expires".
72 81
73 82
74The mis(sing) features 83The missing features
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* Branch- and tag-lists in the summary page can get very long, they should
90 probably only show something like the ten "latest modified" branches and
91 a similar number of "most recent" tags.
92
93* There should be a new page for browsing refs/heads and refs/tags, with links
94 from the summary page whenever the branch/tag lists overflow.
75 95
76Submodule links in the directory listing page have a fixed format per 96* The log-page should have more/better search options (author, committer,
77repository. This should probably be extended to a generic map between 97 pickaxe, paths) and possibly support arbitrary revision specifiers.
78submodule path and url.
79 98
99* A set of test-scripts is required before cgit-1.0 can be released.
80 100
81The end. 101Patches/bugreports/suggestions/comments are always welcome, please feel free
102to contact the author: hjemli@gmail.com