35 lines · 1.5 KB · Text
RawDownload
                        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 nosuch cachefile exist (or it has expired), it is (re)generated. Finally, thecachefile 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 pagethroughput over page freshness. Also, when a cachefile is generated, a few cache-related http-headers arecreated: "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 itis read as "60 * 60 * 24 * 365"). This is done to avoid repeated requests foralready 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 requestedrepository and page:   Repo listing:  <cachedir>/index.html  Repo summary:  <cachedir>/<repo>/index.html  Repo subpage:  <cachedir>/<repo>/<page>/<querystring>.html