aboutsummaryrefslogtreecommitdiff
path: root/README
diff refs
from:
to:
flip
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README35
1 files changed, 35 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..010dd5c
--- /dev/null
+++ b/README
@@ -0,0 +1,35 @@
+
+ cgit - cgi for git
+
+
+This is an attempt to create a fast web interface for the git scm, using a
+frontside cache to decrease server io-pressure.
+
+When cgit is invoked, it looks for a cached page matching the request. If no
+such cachefile exist (or it has expired), it is (re)generated. Finally, the
+cachefile is returned to the client.
+
+If the cachefile has expired, but cgit is unable to lock the cachefile, the
+client will get the stale cachefile after all. This is done to favour page
+throughput over page freshness.
+
+Also, when a cachefile is generated, a few cache-related http-headers are
+created: "Modified" is set to current time(2), while "Expires" is set to
+time(2) + <cachefile TTL> * 60 (unless the TTL is negative, in which case it
+is read as "60 * 60 * 24 * 365"). This is done to avoid repeated requests for
+already visited pages.
+
+The following cache-related options can be set in /etc/cgitrc:
+
+ cache-root=<path> root directory for cache files
+ cache-root-ttl=<min> TTL for the repo listing page
+ cache-repo-ttl=<min> TTL for repo summary pages
+ cache-dynamic-ttl=<min> TTL for pages with symbolic references
+ cache-static-ttl=<min> TTL for pages with sha1 references
+
+The cachefiles are split into different directories, based on the requested
+repository and page:
+
+ Repo listing: <cachedir>/index.html
+ Repo summary: <cachedir>/<repo>/index.html
+ Repo subpage: <cachedir>/<repo>/<page>/<querystring>.html