git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail.com>
To: Tobias Heinlein <keytoaster@gentoo.org>
Cc: Junio C Hamano <gitster@pobox.com>,
	Eli Barzilay <eli@barzilay.org>,
	git@vger.kernel.org
Subject: [PATCH] gitweb: git_get_project_config requires only $git_dir, not also $project
Date: Sat, 27 Mar 2010 20:27:57 +0100	[thread overview]
Message-ID: <201003272027.59216.jnareb@gmail.com> (raw)
In-Reply-To: <4BAE4F07.3040806@gentoo.org>

On Sat, 27 Mar 2010, Tobias Heinlein wrote:

> 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);
> 
> 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 <jnareb@gmail.com>
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.

Reported-by: Tobias Heinlein <keytoaster@gentoo.org>
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
 gitweb/gitweb.perl |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index a2d2283..c356e95 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -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);
-- 
1.7.0.1

       reply	other threads:[~2010-03-27 19:28 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4BAE4F07.3040806@gentoo.org>
2010-03-27 19:27 ` Jakub Narebski [this message]
2010-03-31 17:47   ` [PATCH] gitweb: git_get_project_config requires only $git_dir, not also $project Jakub Narebski
2010-03-31 17:56     ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201003272027.59216.jnareb@gmail.com \
    --to=jnareb@gmail.com \
    --cc=eli@barzilay.org \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=keytoaster@gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).