mirror of
https://git.zx2c4.com/cgit
synced 2024-12-22 15:11:53 +00:00
dcef257d4f
Let README describe the "bigger picture" instead. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
36 lines
1.5 KiB
Plaintext
36 lines
1.5 KiB
Plaintext
|
|
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
|