Re: [RFC/PATCH] Changed gitweb.remote_heads config key name to gitweb.remoteHeads.
On Thu, 7 Jul 2011, Marc Branchaud wrote:
> Git doesn't accept config key names with underscore characters.
Hmmm... that is strange. Git accepts '-' (though it is discouraged) but not '_' in config key names.
> Signed-off-by: Marc Branchaud <marcnarc@xiplink.com>
Acked-by: Jakub Narebski <jnareb@gmail.com>
With the caveat that included patch must be applied first, see below.
Show 18 quoted lines
> ---
>
> Came across this today. The patch is RFC because I have not verified
> if it's complete or if gitweb even respects the setting.
>
> gitweb/gitweb.perl | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index 81dacf2..edbb080 100755
> --- a/gitweb/gitweb.perl
> +++ b/gitweb/gitweb.perl
> @@ -524,9 +524,9 @@ our %feature = (
> # $feature{'remote_heads'}{'default'} = [1];
> # To have project specific config enable override in $GITWEB_CONFIG
> # $feature{'remote_heads'}{'override'} = 1;
> - # and in project config gitweb.remote_heads = 0|1;
> + # and in project config gitweb.remoteHeads = 0|1;Key names are case insensitive...
> 'remote_heads' => {
> - 'sub' => sub { feature_bool('remote_heads', @_) },
> + 'sub' => sub { feature_bool('remoteHeads', @_) },...but git_get_project_config didn't respect that. With above, and without included patch, gitweb would get from "git config --list -z" 'gitweb.remoteheads' (turned lowercase), but as it is written here it would check if 'gitweb.remoreHeads' key exists... so it would never match.
-- >8 --
From: Jakub Narebski <jnareb@gmail.com>
Date: Thu, 7 Jul 2011 20:48:50 +0200
Subject: [PATCH] gitweb: Make git config search case insensitive
Gitweb does not (yet?) use git config variables with subsection, so we can simply lowercase $key in git_get_project_config: section name and key name are case insensitive (only subsection name is case sensitive).
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
gitweb/gitweb.perl | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
Show changes to gitweb/gitweb.perl +1 −0
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 589c85b..59147b6 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -2526,6 +2526,7 @@ sub git_get_project_config {
# key sanity check
return unless ($key);
+ $key = lc($key); # assuming there is no subsection
$key =~ s/^gitweb\.//;
return if ($key =~ m/\W/);
--
1.7.5