|
|
|
GIT web Interface
|
|
|
|
=================
|
|
|
|
|
|
|
|
The one working on:
|
|
|
|
http://www.kernel.org/git/
|
|
|
|
|
|
|
|
From the git version 1.4.0 gitweb is bundled with git.
|
|
|
|
|
|
|
|
|
|
|
|
How to configure gitweb for your local system
|
|
|
|
---------------------------------------------
|
|
|
|
|
|
|
|
You can specify the following configuration variables when building GIT:
|
|
|
|
* GITWEB_SITENAME
|
|
|
|
Shown in the title of all generated pages, defaults to the servers name.
|
|
|
|
* GITWEB_PROJECTROOT
|
|
|
|
The root directory for all projects shown by gitweb.
|
|
|
|
* GITWEB_LIST
|
|
|
|
points to a directory to scan for projects (defaults to project root)
|
|
|
|
or to a file for explicit listing of projects.
|
|
|
|
* GITWEB_HOMETEXT
|
|
|
|
points to an .html file which is included on the gitweb project
|
|
|
|
overview page.
|
|
|
|
* GITWEB_CSS
|
|
|
|
Points to the location where you put gitweb.css on your web server.
|
|
|
|
* GITWEB_LOGO
|
|
|
|
Points to the location where you put git-logo.png on your web server.
|
|
|
|
* GITWEB_CONFIG
|
|
|
|
This file will be loaded using 'require' and can be used to override any
|
|
|
|
of the options above as well as some other options - see the top of
|
|
|
|
'gitweb.cgi' for their full list and description. If the environment
|
|
|
|
$GITWEB_CONFIG is set when gitweb.cgi is executed the file in the
|
|
|
|
environment variable will be loaded instead of the file
|
|
|
|
specified when gitweb.cgi was created.
|
|
|
|
|
|
|
|
|
|
|
|
Runtime gitweb configuration
|
|
|
|
----------------------------
|
|
|
|
|
|
|
|
You can adjust gitweb behaviour using the file specified in `GITWEB_CONFIG`
|
|
|
|
(defaults to 'gitweb_config.perl' in the same directory as the CGI).
|
|
|
|
See the top of 'gitweb.cgi' for the list of variables and some description.
|
|
|
|
The most notable thing that is not configurable at compile time are the
|
|
|
|
optional features, stored in the '%features' variable. You can find further
|
|
|
|
description on how to reconfigure the default features setting in your
|
|
|
|
`GITWEB_CONFIG` or per-project in `project.git/config` inside 'gitweb.cgi'.
|
|
|
|
|
|
|
|
|
|
|
|
Webserver configuration
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
If you want to have one URL for both gitweb and your http://
|
|
|
|
repositories, you can configure apache like this:
|
|
|
|
|
|
|
|
<VirtualHost www:80>
|
|
|
|
ServerName git.domain.org
|
|
|
|
DocumentRoot /pub/git
|
|
|
|
RewriteEngine on
|
|
|
|
RewriteRule ^/(.*\.git/(?!/?(info|objects|refs)).*)?$ /cgi-bin/gitweb.cgi%{REQUEST_URI} [L,PT]
|
|
|
|
SetEnv GITWEB_CONFIG /etc/gitweb.conf
|
|
|
|
</VirtualHost>
|
|
|
|
|
|
|
|
The above configuration expects your public repositories to live under
|
|
|
|
/pub/git and will serve them as http://git.domain.org/dir-under-pub-git,
|
|
|
|
both as cloneable GIT URL and as browseable gitweb interface.
|
|
|
|
If you then start your git-daemon with --base-path=/pub/git --export-all
|
|
|
|
then you can even use the git:// URL with exactly the same path.
|
|
|
|
|
|
|
|
Setting the environment variable GITWEB_CONFIG will tell gitweb to use
|
|
|
|
the named file (i.e. in this example /etc/gitweb.conf) as a
|
|
|
|
configuration for gitweb. Perl variables defined in here will
|
|
|
|
override the defaults given at the head of the gitweb.perl (or
|
|
|
|
gitweb.cgi). Look at the comments in that file for information on
|
|
|
|
which variables and what they mean.
|
|
|
|
|
|
|
|
|
|
|
|
Originally written by:
|
|
|
|
Kay Sievers <kay.sievers@vrfy.org>
|
|
|
|
|
|
|
|
Any comment/question/concern to:
|
|
|
|
Git mailing list <git@vger.kernel.org>
|
|
|
|
|