gitweb: Add example of config file and how to generate projects list to gitweb/INSTALL
authorJakub Narebski <jnareb@gmail.com>
Mon, 26 Mar 2007 01:34:41 +0000 (02:34 +0100)
committerJunio C Hamano <junkio@cox.net>
Mon, 26 Mar 2007 05:22:33 +0000 (22:22 -0700)
Add simple example of config file (turning on and allowing override of
a few %features). Also example config file and script to generate list
of projects in a format that can be used as GITWEB_LIST / $projects_list.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
gitweb/INSTALL
index 371407dc230e7bafea29276ce72c41c355ce2b59..6328e26f564887dad0b92edce1d64d54d7d324d6 100644 (file)
@@ -103,9 +103,25 @@ for gitweb (in gitweb/README).
 
   See the top of gitweb.perl file for examples of customizable options.
 
+Config file example
+~~~~~~~~~~~~~~~~~~~
 
-Gitweb repositories:
---------------------
+To enable blame, pickaxe search, and snapshot support, while allowing
+individual projects to turn them off, put the following in your
+GITWEB_CONFIG file:
+
+       $feature{'blame'}{'default'} = [1];
+       $feature{'blame'}{'override'} = 1;
+
+       $feature{'pickaxe'}{'default'} = [1];
+       $feature{'pickaxe'}{'override'} = 1;
+
+       $feature{'snapshot'}{'default'} = ['x-gzip', 'gz', 'gzip'];
+       $feature{'snapshot'}{'override'} = 1;
+
+
+Gitweb repositories
+-------------------
 
 - By default all git repositories under projectroot are visible and
   available to gitweb. List of projects is generated by default by
@@ -139,6 +155,31 @@ Gitweb repositories:
   show repository only if this file exists in its object database
   (if directory has the magic file $export_ok).
 
+Generating projects list using gitweb
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+We assume that GITWEB_CONFIG has its default Makefile value, namely
+gitweb_config.perl. Put the following in gitweb_make_index.perl file:
+
+       $GITWEB_CONFIG = "gitweb_config.perl";
+       do $GITWEB_CONFIG if -e $GITWEB_CONFIG;
+
+       $projects_list = $projectroot;
+
+Then create the following script to get list of project in the format
+suitable for GITWEB_LIST build configuration variable (or
+$projects_list variable in gitweb config):
+
+       #!/bin/sh
+
+       export GITWEB_CONFIG="gitweb_make_index.perl"
+       export GATEWAY_INTERFACE="CGI/1.1"
+       export HTTP_ACCEPT="*/*"
+       export REQUEST_METHOD="GET"
+       export QUERY_STRING="a=project_index"
+
+       perl -- /var/www/cgi-bin/gitweb.cgi
+
 
 Requirements
 ------------