gitweb: require $ENV{'GITWEB_CONFIG'}
authorMatthias Lederhofer <matled@gmx.net>
Wed, 2 Aug 2006 20:29:36 +0000 (22:29 +0200)
committerJunio C Hamano <junkio@cox.net>
Wed, 2 Aug 2006 20:56:34 +0000 (13:56 -0700)
With this patch it is possible to use gitweb.perl for developing by
loading the configuration from $GITWEB_CONFIG.  This might also be
useful for normal usage of gitweb.

Example:

    % cat cfg
    $GIT = '/usr/bin/git';
    $projectroot = '/home/matled/src/git';
    $projects_list = '/home/matled/src/git/git/gitweb/list';
    % cat run
    #!/bin/sh
    export GATEWAY_INTERFACE="CGI/1.1"
    export HTTP_ACCEPT="*/*"
    export REQUEST_METHOD="GET"
    export GITWEB_CONFIG='./cfg'
    export QUERY_STRING=""$1""
    exec ./gitweb.perl
    % time ./run p=git/.git > /dev/null

This makes it easy to check for warnings and do performance tests
after changes, you can also pipe this to lynx -dump -force-html
/dev/stdin to get more than just html.

This also documents the original patch adding require $GITWEB_CONFIG.

Signed-off-by: Matthias Lederhofer <matled@gmx.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
gitweb/README
gitweb/gitweb.perl

index b91d42a9099924b43aebd8b1b5f968ab16d48465..27c6dac1436ca9def413430336f3f29d88247fcb 100644 (file)
@@ -23,6 +23,11 @@ You can specify the following configuration variables when building GIT:
    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'.  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.
 
 Originally written by:
   Kay Sievers <kay.sievers@vrfy.org>
index d5b2de8b3afb9bfb8d3551cc3ef0c727300b93b9..b5548ec8f1460a251905bfcdd12f7aa9cbf44003 100755 (executable)
@@ -60,7 +60,7 @@ our $default_text_plain_charset  = undef;
 # (relative to the current git repository)
 our $mimetypes_file = undef;
 
-our $GITWEB_CONFIG = "@@GITWEB_CONFIG@@";
+our $GITWEB_CONFIG = $ENV{'GITWEB_CONFIG'} || "@@GITWEB_CONFIG@@";
 require $GITWEB_CONFIG if -e $GITWEB_CONFIG;
 
 # version of the core git binary