git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH/RFC] gitweb: Add example of config file and how to generate projects list to gitweb/INSTALL

From
Jakub Narebski <jnareb@gmail.com>
Date
Mar 26, 2007, 01:34 UTC
Message-ID
<200703260334.42885.jnareb@gmail.com>
In-Reply-To
<f329bf540703241918y22830d50jbf20928d402c67fe@mail.gmail.com>

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>
---
Han-Wen Nienhuys wrote:
Show 11 quoted lines
> 2007/3/24, Jakub Narebski <jnareb@gmail.com>:
> > 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
Previous: Han-Wen Nienhuys
Message 8 of 8 in “Installation instructions for gitweb?”
  1. Han-Wen NienhuysMar 22, 2007
  2. Johannes SchindelinMar 22, 2007
  3. Frank LichtenheldMar 23, 2007
  4. Han-Wen NienhuysMar 23, 2007
  5. Frank LichtenheldMar 23, 2007
  6. gitweb: Add some installation notes in gitweb/INSTALLJakub Narebski, Mar 24, 2007
  7. Han-Wen NienhuysMar 25, 2007
  8. gitweb: Add example of config file and how to generate projects list to gitweb/INSTALLJakub Narebski, Mar 26, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.