Skip to contentSkip to conversation

gitweb: git_get_project_config requires only $git_dir, not also $project

PATCH In review Jakub Narebski 2 participants 3 messages Jun 15, 2016 1 message not in the archive

lore
Share & tools
lore
#1 lore raw

PATCH 1/1 gitweb: git_get_project_config requires only $git_dir, not also $project

In reply to a message not in the archive
Quoted 20 lines · Tobias Heinlein

I stumbled upon a small bug in gitweb that was introduced by commit 9be3614eff36271d5f1cd460a568a219902cb044.

The projects list page is no longer able to display the projects' descriptions and owners properly when they are set in the git config file, e.g. like this:

[gitweb]
owner = Tobias Heinlein
description = test

This is because git_get_project_owner() calls
git_get_project_config('owner'):

  sub git_get_project_config {
          my ($key, $type) = @_;
          # do we have project
          return unless (defined $project && defined $git_dir);
Quoted 8 lines

At this point, $project is not defined (because it doesn't have to; $git_dir is defined, though, due to another change in the said commit), causing the call to return early at the newly introduced line of code.

Determining the description fails accordingly.

I'm afraid I can't provide a patch as my Perl foo isn't that good.

Does the following patch fixes this issue?

-- >8 --
From: Jakub Narebski <[email protected]>
Date: Sat, 27 Mar 2010 20:26:59 +0100
Subject: [PATCH] gitweb: git_get_project_config requires only $git_dir, not also $project

Fix overeager early return in git_get_project_config, introduced in 9be3614 (gitweb: Fix project-specific feature override behavior, 2010-03-01). When git_get_project_config is called from projects list page via git_get_project_owner($path) etc., it is called with $git_dir defined (in git_get_project_owner($path) etc.), but $project variable is not defined. git_get_project_config doesn't use $project variable anyway.

---
 gitweb/gitweb.perl |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)
gitweb/gitweb.perl +1 -2
index a2d2283..c356e95 100755
@@ -2216,8 +2216,7 @@ sub config_to_multi {
 sub git_get_project_config {
 	my ($key, $type) = @_;
 
-	# do we have project
-	return unless (defined $project && defined $git_dir);
+	return unless defined $git_dir;
 
 	# key sanity check
 	return unless ($key);
Signature · 1 line
1.7.0.1
#2 lore raw

Ping! This patch is straight fix for a recently introduced bug (in a bugfix)... and it removes more than it adds.

Quoted 12 lines · Jakub Narebski
Quoted 10 lines · Tobias Heinlein

I stumbled upon a small bug in gitweb that was introduced by commit 9be3614eff36271d5f1cd460a568a219902cb044.

The projects list page is no longer able to display the projects' descriptions and owners properly when they are set in the git config file, e.g. like this:

[gitweb]
owner = Tobias Heinlein
description = test

[...]

Quoted 38 lines

Does the following patch fixes this issue?

-- >8 --
From: Jakub Narebski <[email protected]>
Date: Sat, 27 Mar 2010 20:26:59 +0100
Subject: [PATCH] gitweb: git_get_project_config requires only $git_dir, not also $project

Fix overeager early return in git_get_project_config, introduced in 9be3614 (gitweb: Fix project-specific feature override behavior, 2010-03-01). When git_get_project_config is called from projects list page via git_get_project_owner($path) etc., it is called with $git_dir defined (in git_get_project_owner($path) etc.), but $project variable is not defined. git_get_project_config doesn't use $project variable anyway.

---
 gitweb/gitweb.perl |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)
gitweb/gitweb.perl +1 -2
index a2d2283..c356e95 100755
@@ -2216,8 +2216,7 @@ sub config_to_multi {
 sub git_get_project_config {
 	my ($key, $type) = @_;
 
-	# do we have project
-	return unless (defined $project && defined $git_dir);
+	return unless defined $git_dir;
 
 	# key sanity check
 	return unless ($key);
Signature · 1 line
1.7.0.1
Signature · 2 lines
Jakub Narebski
Poland
#3 lore raw
Quoted 2 lines · Jakub Narebski

Ping! This patch is straight fix for a recently introduced bug (in a bugfix)... and it removes more than it adds.

I took your "Does this fix?" as a request for Tested-By: and has been waiting for the exchange between you two to move forward.

I'll queue it; thanks for the reminder.

Quoted 58 lines · Jakub Narebski
Quoted 12 lines · Tobias Heinlein
Quoted 11 lines

I stumbled upon a small bug in gitweb that was introduced by commit 9be3614eff36271d5f1cd460a568a219902cb044.

The projects list page is no longer able to display the projects' descriptions and owners properly when they are set in the git config file, e.g. like this:

[gitweb]
owner = Tobias Heinlein
description = test

[...]

Quoted 38 lines

Does the following patch fixes this issue?

-- >8 --
From: Jakub Narebski <[email protected]>
Date: Sat, 27 Mar 2010 20:26:59 +0100
Subject: [PATCH] gitweb: git_get_project_config requires only $git_dir, not also $project

Fix overeager early return in git_get_project_config, introduced in 9be3614 (gitweb: Fix project-specific feature override behavior, 2010-03-01). When git_get_project_config is called from projects list page via git_get_project_owner($path) etc., it is called with $git_dir defined (in git_get_project_owner($path) etc.), but $project variable is not defined. git_get_project_config doesn't use $project variable anyway.

---
 gitweb/gitweb.perl |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)
gitweb/gitweb.perl +1 -2
index a2d2283..c356e95 100755
@@ -2216,8 +2216,7 @@ sub config_to_multi {
 sub git_get_project_config {
 	my ($key, $type) = @_;
 
-	# do we have project
-	return unless (defined $project && defined $git_dir);
+	return unless defined $git_dir;
 
 	# key sanity check
 	return unless ($key);
Signature · 1 line
1.7.0.1
Signature · 2 lines
Jakub Narebski
Poland