summaryrefslogtreecommitdiffabout
authorLars Hjemli <hjemli@gmail.com>2007-01-28 12:18:23 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2007-01-28 12:18:23 (UTC)
commit66414b68cf30f9ae7613c68833e7cbc8e93adae2 (patch) (unidiff)
tree912eff9ee7e027b8129e6e204ace31926ccc89f4
parent3c388a3bf80d51b95b6bdfbf133a7f732c3d80b9 (diff)
downloadcgit-66414b68cf30f9ae7613c68833e7cbc8e93adae2.zip
cgit-66414b68cf30f9ae7613c68833e7cbc8e93adae2.tar.gz
cgit-66414b68cf30f9ae7613c68833e7cbc8e93adae2.tar.bz2
Update README with install/config information
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--README52
1 files changed, 28 insertions, 24 deletions
diff --git a/README b/README
index 010dd5c..17e284e 100644
--- a/README
+++ b/README
@@ -2,34 +2,38 @@
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
6frontside cache to decrease server io-pressure. 6builtin cache to decrease server io-pressure.
7 7
8When cgit is invoked, it looks for a cached page matching the request. If no
9such cachefile exist (or it has expired), it is (re)generated. Finally, the
10cachefile is returned to the client.
11 8
12If the cachefile has expired, but cgit is unable to lock the cachefile, the 9Installation
13client will get the stale cachefile after all. This is done to favour page 10
14throughput over page freshness. 11$ $EDITOR Makefile
12$ make
13$ sudo make install
14
15Note: cgit requires the git and xdiff libraries. Currently, the makefile
16expects these files to be found in '../git/libgit.a' and '../git/xdiff/lib.a',
17where they will be if you have built git from source in a parallell directory.
18
15 19
16Also, when a cachefile is generated, a few cache-related http-headers are 20Runtime configuration
17created: "Modified" is set to current time(2), while "Expires" is set to
18time(2) + <cachefile TTL> * 60 (unless the TTL is negative, in which case it
19is read as "60 * 60 * 24 * 365"). This is done to avoid repeated requests for
20already visited pages.
21 21
22The following cache-related options can be set in /etc/cgitrc: 22The file /etc/cgitrc is read by cgit before handling a request. A template
23cgitrc is shipped with the sources, and all parameters and default values
24can be found in this file.
23 25
24 cache-root=<path> root directory for cache files
25 cache-root-ttl=<min> TTL for the repo listing page
26 cache-repo-ttl=<min> TTL for repo summary pages
27 cache-dynamic-ttl=<min> TTL for pages with symbolic references
28 cache-static-ttl=<min> TTL for pages with sha1 references
29 26
30The cachefiles are split into different directories, based on the requested 27The cache
31repository and page: 28
29When cgit is invoked it looks for a cachefile matching the request and
30returns it to the client. If no such cachefile exist (or if it has expired),
31the content for the request is written into the proper cachefile before the
32file is returned.
33
34If the cachefile has expired but cgit is unable to obtain a lock for it, the
35stale cachefile is returned to the client. This is done to favour page
36throughput over page freshness.
32 37
33 Repo listing: <cachedir>/index.html 38The generated content contains the complete response to the client, including
34 Repo summary: <cachedir>/<repo>/index.html 39the http-headers "Modified" and "Expires".
35 Repo subpage: <cachedir>/<repo>/<page>/<querystring>.html