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
n class='insertions'>+9 2006-12-17Don't show new and old filemode for added/removed filesLars Hjemli1-2/+9 2006-12-17Show list of modified files in ui-commit.cLars Hjemli5-8/+281 2006-12-16Reformat code to avoid excessive line lengthsLars Hjemli3-11/+18 2006-12-16Add cgit_free_commitinfo() and use where neededLars Hjemli5-8/+15 2006-12-16Simplify ui-commit.cLars Hjemli1-16/+1 2006-12-16Show emails and timestamps in ui-commit.cLars Hjemli1-2/+8 2006-12-16Teach commit parser about author/committer email + timestampLars Hjemli2-2/+14 2006-12-16Allow relative paths for cgit_cache_rootLars Hjemli2-0/+8 2006-12-16Add cache-root option to /cgit/rcLars Hjemli1-0/+2 2006-12-16Add argument parsing + switch for uncached operationLars Hjemli3-3/+51 2006-12-16Add head comment to shared.cLars Hjemli1-0/+8 2006-12-16Add head comment to ui-commit.cLars Hjemli1-0/+8 2006-12-16gitweb ripoff: set tr:hover to highligt current rowLars Hjemli1-3/+7 2006-12-16Make repo header a link to summary pageLars Hjemli2-1/+12 2006-12-16Move cgit_print_date into ui-shared, reuse in ui-summaryLars Hjemli4-20/+24 2006-12-16Add ui-commit.c + misc ui cleanupsLars Hjemli9-19/+140 2006-12-15Add a common commit parserLars Hjemli3-63/+75 2006-12-14Add simple pager to log pageLars Hjemli4-6/+37 2006-12-13Add separate makefile-rule to clear current cacheLars Hjemli1-2/+4 2006-12-13Remove implementation details from READMELars Hjemli1-53/+34 2006-12-13Small layout adjustments to summary and blob viewLars Hjemli3-5/+13 2006-12-13Add display of tree content w/ui-tree.cLars Hjemli9-8/+113 2006-12-12cache_lock: do xstrdup/free on lockfileLars Hjemli1-1/+2 2006-12-11Don't truncate valid cachefilesLars Hjemli3-4/+16 2006-12-11Move global variables + callback functions into shared.cLars Hjemli4-82/+86 2006-12-11Move functions for generic object output into ui-view.cLars Hjemli4-34/+43 2006-12-11Move log-functions into ui-log.cLars Hjemli5-111/+121 2006-12-11Move repo summary functions into ui-summary.cLars Hjemli4-47/+59 2006-12-11Move functions for repolist output into ui-repolist.cLars Hjemli5-70/+90 2006-12-11Move common output-functions into ui-shared.cLars Hjemli4-82/+99 2006-12-11Rename config.c to parsing.c + move cgit_parse_query from cgit.c to parsing.cLars Hjemli4-28/+29 2006-12-11Avoid infinite loops in caching layerLars Hjemli3-14/+31 2006-12-11Let 'make install' clear all cachefilesLars Hjemli1-0/+2 2006-12-11Fix cache algorithm loopholeLars Hjemli3-11/+16 2006-12-10Add version identifier in generated filesLars Hjemli2-9/+14 2006-12-10Add license file and copyright noticesLars Hjemli5-0/+372 2006-12-10Add caching infrastructureLars Hjemli9-28/+353