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@xxxxxxxxx> --- Han-Wen Nienhuys wrote: > 2007/3/24, Jakub Narebski <jnareb@xxxxxxxxx>: > > Add some installation and configuration notes for gitweb in > > gitweb/INSTALL. Make use of filling gitweb configuration by > > Makefile. > > > > It does not cover (yet?) all the configuration variables and > > options. > > I got it running with the help of the list, but this patch surely > improves the state of the docs. Just one nit: it should give a small > example of the desired syntax of the gitweb_conf.perl file HTH I'm not sure about example how to get projects list in the format suitable for gitweb. For example HTTP headers should be stripped from the projects_index gitweb.cgi output, but I don't remember proper sed invocation to skip all lines up to emty line/line containing only "\r". gitweb/INSTALL | 45 +++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 43 insertions(+), 2 deletions(-) diff --git a/gitweb/INSTALL b/gitweb/INSTALL index 371407d..6328e26 100644 --- a/gitweb/INSTALL +++ b/gitweb/INSTALL @@ -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 ------------ -- 1.5.0.5 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html