@ -1,20 +1,19 @@
cgit - CGI for Git
==================
cgit - cgi for git
This is an attempt to create a fast web interface for the Git SCM, using a
built-in cache to decrease server I/O pressure.
This is an attempt to create a fast web interface for the git scm, using a
builtin cache to decrease server io-pressure.
Installation
Installation
------------
Building cgit involves building a proper version of g it. How to do this
Building cgit involves building a proper version of G it. How to do this
depends on how you obtained the cgit sources:
depends on how you obtained the cgit sources:
a) If you're working in a cloned cgit repository, you first need to
a) If you're working in a cloned cgit repository, you first need to
initialize and update the g it submodule:
initialize and update the G it submodule:
$ git submodule init # register the g it submodule in .git/config
$ git submodule init # register the G it submodule in .git/config
$ $EDITOR .git/config # if you want to specify a different url for git
$ $EDITOR .git/config # if you want to specify a different url for git
$ git submodule update # clone/fetch and checkout correct git version
$ git submodule update # clone/fetch and checkout correct git version
@ -23,28 +22,28 @@ version like this:
$ make get-git
$ make get-git
When either a) or b) has been performed, you can build and install cgit like
When either a) or b) has been performed, you can build and install cgit like
this:
this:
$ make
$ make
$ sudo make install
$ sudo make install
This will install cgit.cgi and cgit.css into "/var/www/htdocs/cgit". You can
This will install `cgit.cgi` and `cgit.css` into `/var/www/htdocs/cgit`. You
configure this location (and a few other things) by providing a "cgit.conf"
can configure this location (and a few other things) by providing a `cgit.conf`
file (see the Makefile for details).
file (see the Makefile for details).
Dependencies
------------
Dependencies:
* git 1.7.4
-git 1.7.4
* zip lib
-zip lib
* crypto lib
-crypto lib
* openssl lib
-openssl lib
Apache configuration
Apache configuration
--------------------
A new Directory- section must probably be added for cgit, possibly something
A new `Directory` section must probably be added for cgit, possibly something
like this:
like this:
<Directory "/var/www/htdocs/cgit/">
<Directory "/var/www/htdocs/cgit/">
@ -56,16 +55,17 @@ like this:
Runtime configuration
Runtime configuration
---------------------
The file /etc/cgitrc is read by cgit before handling a request. In addition
The file ` /etc/cgitrc` is read by cgit before handling a request. In addition
to runtime parameters, this file may also contain a list of repositories
to runtime parameters, this file may also contain a list of repositories
displayed by cgit (see cgitrc.5.txt for further details).
displayed by cgit (see `cgitrc.5.txt` for further details).
The cache
The cache
---------
When cgit is invoked it looks for a cache file matching the request and
When cgit is invoked it looks for a cache file matching the request and
returns it to the client. If no such cachefile exist (or if it has expired),
returns it to the client. If no such cache file exists (or if it has expired),
the content for the request is written into the proper cache file before the
the content for the request is written into the proper cache file before the
file is returned.
file is returned.
@ -74,10 +74,10 @@ stale cachefile is returned to the client. This is done to favour page
throughput over page freshness.
throughput over page freshness.
The generated content contains the complete response to the client, including
The generated content contains the complete response to the client, including
the http-headers "Modified" and "Expires".
the HTTP headers `Modified` and `Expires`.
Online presence
Online presence
---------------
* The cgit homepage is hosted by cgit at <http://git.zx2c4.com/cgit/about/>
* The cgit homepage is hosted by cgit at <http://git.zx2c4.com/cgit/about/>