Re: [PATCH] Avoid errors from git-rev-parse in gitweb blame
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Jun 3, 2008, 11:43 UTC
- Message-ID
- <m34p8a2173.fsf@localhost.localdomain>
- In-Reply-To
- <1212489977-26822-1-git-send-email-rgarciasuarez@gmail.com>
Cc-ed Luben Tuikov, author of this part.
Rafael Garcia-Suarez <rgarciasuarez@gmail.com> writes:
Show 5 quoted lines
> git-rev-parse will abort with an error when passed a non-existent > revision spec, such as "deadbeef^" where deadbeef has no parent. > Using the --revs-only parameter makes this error go away, while > retaining functionality, keeping the web server error log nice > and clean.
Thanks. This error wasn't detected earlier probably because 'blame' view is rarely enabled; and repo.or.cz gitweb which has 'blame' enabled IIRC use gitweb which is modified there, allowing incremental blame using AJAX.
Show 16 quoted lines
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl > index 55fb100..f3b4b24 100755 > --- a/gitweb/gitweb.perl > +++ b/gitweb/gitweb.perl > @@ -4226,9 +4226,9 @@ git_blame2 > esc_html($rev)); > print "</td>\n"; > } > - open (my $dd, "-|", git_cmd(), "rev-parse", "$full_rev^") > + open (my $dd, "-|", git_cmd(), "rev-parse", '--revs-only', "$full_rev^") > or die_error(undef, "Open git-rev-parse failed"); > - my $parent_commit = <$dd>; > + my $parent_commit = <$dd> || ''; > close $dd; > chomp($parent_commit); > my $blamed = href(action => 'blame',
I'd rather remove this, correct it, or make it optional (this is very fork-heavy).
But this patch is good as it is now...
-- Jakub Narebski Poland ShadeHawk on #git