| 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> |