"git config -z -l" that gitweb uses in git_parse_project_config() to populate %config hash returns section and key names of config variables in lowercase (they are case insensitive). When checking %config in git_get_project_config() we have to take it into account. Helped-by: Junio C Hamano <gitster@xxxxxxxxx> Signed-off-by: Jakub Narebski <jnareb@xxxxxxxxx> --- On Thu, 28 Jul 2011, Junio C Hamano napisał: > Jakub Narebski <jnareb@xxxxxxxxx> writes: > > > "git config -z -l" that gitweb uses in git_parse_project_config() to > > populate %config hash returns section and key names of config > > variables in lowercase (they are case insensitive). When checking > > %config in git_get_project_config() we have to take it into account. > > > > Gitweb does not (yet?) use git config variables with subsection, so we > > can simply lowercase $key in git_get_project_config (only subsection > > names are case sensitive). > > Why stop there, I have to wonder, instead of futureproofing with minimum > cost, even with something naïve like: > > if (my ($hi, $mi, $lo) = ($key =~ /^([^.]*)\.(.*)\.(.*)$)) { > $key = join(".", lc($hi), $mi, lc($lo); > } else { > $key = lc($key); > } Well, I thought it would be more involved than this. Anyway, here it is: gitweb/gitweb.perl | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 1070805..f858d1b 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -2526,6 +2526,13 @@ sub git_get_project_config { # key sanity check return unless ($key); + # only subsection, if exists, is case sensitive, + # and not lowercased by 'git config -z -l' + if (my ($hi, $mi, $lo) = ($key =~ /^([^.]*)\.(.*)\.([^.]*)$/)) { + $key = join(".", lc($hi), $mi, lc($lo)); + } else { + $key = lc($key); + } $key =~ s/^gitweb\.//; return if ($key =~ m/\W/); -- 1.7.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