summaryrefslogtreecommitdiff
path: root/README
blob: 010dd5ccb02fac5da080833331dabdcd8ef165cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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
tions'>-4/+3 2007-05-14Add log filtering by path and link to it from tree viewLars Hjemli6-13/+37 2007-05-13cgit v0.4v0.4Lars Hjemli1-1/+1 2007-05-13Add commitdiff between commit and each of it's parentLars Hjemli5-10/+63 2007-05-13Add graphical diffstat to commit viewLars Hjemli5-33/+130 2007-05-13Add max-commit-count parameter to cgitrcLars Hjemli4-2/+10 2007-05-13Show number of changed lines in log viewLars Hjemli1-1/+11 2007-05-13Simplify ui-diff.c using the new file-level diff interfaceLars Hjemli1-86/+2 2007-05-13Add standard interface for file diff functionsLars Hjemli2-0/+86 2007-05-13Show number of changed files in log viewLars Hjemli1-2/+15 2007-05-13Use standard tree-diff function when showing diffstat for single commitLars Hjemli1-51/+15 2007-05-13Add shared diff-handling functionsLars Hjemli2-2/+50 2007-05-12css: fix bad rendering in Internet ExplorerLars Hjemli1-2/+7 2007-05-11Add links to enable downloading of tagged blobsLars Hjemli2-9/+85 2007-05-11Makefile: add support for building w.o. preinstalled gitLars Hjemli1-1/+13 2007-05-11Tag release v0.3v0.3Lars Hjemli1-1/+1 2007-05-11Update README with submodule build infoLars Hjemli1-13/+39 2007-05-11Add submodule links in tree listingLars Hjemli6-12/+27 2007-05-11Add submodules.sh and use it during buildsLars Hjemli3-13/+222 2007-05-11Added git as a submoduleLars Hjemli2-1/+1 2007-05-09Add support for downloading single blobsLars Hjemli5-3/+47 2007-05-08ui-view: show pathname if specified in querystringLars Hjemli3-5/+10 2007-05-08Update to libgit 1.5.2-rc2Lars Hjemli9-837/+50 2007-02-21Layout updateLars Hjemli9-32/+127 2007-02-08Make snapshot feature configurableLars Hjemli5-6/+22 2007-02-08Add support for snapshotsLars Hjemli8-8/+153 2007-02-05cgit v0.2v0.2Lars Hjemli1-1/+1 2007-02-05Add support for prefix and gitsrc arguments to 'make'Lars Hjemli2-15/+37 2007-02-04Update cgitrc templateLars Hjemli1-21/+32 2007-02-04Add support for lightweight tagsLars Hjemli2-19/+37 2007-02-04Read repo-info from /etc/cgitrcLars Hjemli5-55/+120 2007-02-04Do not die if tag has no messageLars Hjemli1-2/+2 2007-02-03Fix search for non-virtual urlsLars Hjemli1-0/+6 2007-01-28Update README with install/config informationLars Hjemli1-24/+28