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

Re: [RFC/PATCH] Changed gitweb.remote_heads config key name to gitweb.remoteHeads.

From
Jakub Narebski <jnareb@gmail.com>
Date
Jul 7, 2011, 18:56 UTC
Message-ID
<201107072056.25417.jnareb@gmail.com>
In-Reply-To
<1310061739-4441-1-git-send-email-marcnarc@xiplink.com>
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(-)
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
Previous: Marc BranchaudNext: Jakub Narebski
Message 2 of 3 in “Changed gitweb.remote_heads config key name to gitweb.remoteHeads.”
  1. Changed gitweb.remote_heads config key name to gitweb.remoteHeads.Marc Branchaud, Jul 7, 2011
  2. Jakub NarebskiJul 7, 2011
  3. Jakub NarebskiJul 7, 2011

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.