Diffstat (limited to 'README')
| -rw-r--r-- | README | 35 |
1 files changed, 35 insertions, 0 deletions
@@ -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 |