gitweb: Document features better
This expands gitweb/README to talk some more about GITWEB_CONFIG, moves feature-specific documentation in gitweb.cgi to the inside of the %features array, and adds some short description of all the features. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
a945591906
commit
45a3b12cfd
@ -24,11 +24,25 @@ You can specify the following configuration variables when building GIT:
|
||||
* 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
|
||||
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'.
|
||||
|
||||
|
||||
Originally written by:
|
||||
Kay Sievers <kay.sievers@vrfy.org>
|
||||
|
||||
|
@ -87,22 +87,63 @@ our %feature = (
|
||||
#
|
||||
# use gitweb_check_feature(<feature>) to check if <feature> is enabled
|
||||
|
||||
# Enable the 'blame' blob view, showing the last commit that modified
|
||||
# each line in the file. This can be very CPU-intensive.
|
||||
|
||||
# To enable system wide have in $GITWEB_CONFIG
|
||||
# $feature{'blame'}{'default'} = [1];
|
||||
# To have project specific config enable override in $GITWEB_CONFIG
|
||||
# $feature{'blame'}{'override'} = 1;
|
||||
# and in project config gitweb.blame = 0|1;
|
||||
'blame' => {
|
||||
'sub' => \&feature_blame,
|
||||
'override' => 0,
|
||||
'default' => [0]},
|
||||
|
||||
# Enable the 'snapshot' link, providing a compressed tarball of any
|
||||
# tree. This can potentially generate high traffic if you have large
|
||||
# project.
|
||||
|
||||
# To disable system wide have in $GITWEB_CONFIG
|
||||
# $feature{'snapshot'}{'default'} = [undef];
|
||||
# To have project specific config enable override in $GITWEB_CONFIG
|
||||
# $feature{'blame'}{'override'} = 1;
|
||||
# and in project config gitweb.snapshot = none|gzip|bzip2;
|
||||
'snapshot' => {
|
||||
'sub' => \&feature_snapshot,
|
||||
'override' => 0,
|
||||
# => [content-encoding, suffix, program]
|
||||
'default' => ['x-gzip', 'gz', 'gzip']},
|
||||
|
||||
# Enable the pickaxe search, which will list the commits that modified
|
||||
# a given string in a file. This can be practical and quite faster
|
||||
# alternative to 'blame', but still potentially CPU-intensive.
|
||||
|
||||
# To enable system wide have in $GITWEB_CONFIG
|
||||
# $feature{'pickaxe'}{'default'} = [1];
|
||||
# To have project specific config enable override in $GITWEB_CONFIG
|
||||
# $feature{'pickaxe'}{'override'} = 1;
|
||||
# and in project config gitweb.pickaxe = 0|1;
|
||||
'pickaxe' => {
|
||||
'sub' => \&feature_pickaxe,
|
||||
'override' => 0,
|
||||
'default' => [1]},
|
||||
|
||||
# Make gitweb use an alternative format of the URLs which can be
|
||||
# more readable and natural-looking: project name is embedded
|
||||
# directly in the path and the query string contains other
|
||||
# auxiliary information. All gitweb installations recognize
|
||||
# URL in either format; this configures in which formats gitweb
|
||||
# generates links.
|
||||
|
||||
# To enable system wide have in $GITWEB_CONFIG
|
||||
# $feature{'pathinfo'}{'default'} = [1];
|
||||
# Project specific override is not supported.
|
||||
|
||||
# Note that you will need to change the default location of CSS,
|
||||
# favicon, logo and possibly other files to an absolute URL. Also,
|
||||
# if gitweb.cgi serves as your indexfile, you will need to force
|
||||
# $my_uri to contain the script name in your $GITWEB_CONFIG.
|
||||
'pathinfo' => {
|
||||
'override' => 0,
|
||||
'default' => [0]},
|
||||
@ -123,12 +164,6 @@ sub gitweb_check_feature {
|
||||
return $sub->(@defaults);
|
||||
}
|
||||
|
||||
# To enable system wide have in $GITWEB_CONFIG
|
||||
# $feature{'blame'}{'default'} = [1];
|
||||
# To have project specific config enable override in $GITWEB_CONFIG
|
||||
# $feature{'blame'}{'override'} = 1;
|
||||
# and in project config gitweb.blame = 0|1;
|
||||
|
||||
sub feature_blame {
|
||||
my ($val) = git_get_project_config('blame', '--bool');
|
||||
|
||||
@ -141,12 +176,6 @@ sub feature_blame {
|
||||
return $_[0];
|
||||
}
|
||||
|
||||
# To disable system wide have in $GITWEB_CONFIG
|
||||
# $feature{'snapshot'}{'default'} = [undef];
|
||||
# To have project specific config enable override in $GITWEB_CONFIG
|
||||
# $feature{'blame'}{'override'} = 1;
|
||||
# and in project config gitweb.snapshot = none|gzip|bzip2
|
||||
|
||||
sub feature_snapshot {
|
||||
my ($ctype, $suffix, $command) = @_;
|
||||
|
||||
@ -170,12 +199,6 @@ sub gitweb_have_snapshot {
|
||||
return $have_snapshot;
|
||||
}
|
||||
|
||||
# To enable system wide have in $GITWEB_CONFIG
|
||||
# $feature{'pickaxe'}{'default'} = [1];
|
||||
# To have project specific config enable override in $GITWEB_CONFIG
|
||||
# $feature{'pickaxe'}{'override'} = 1;
|
||||
# and in project config gitweb.pickaxe = 0|1;
|
||||
|
||||
sub feature_pickaxe {
|
||||
my ($val) = git_get_project_config('pickaxe', '--bool');
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user