Subject: Re: [PATCH] Avoid errors from git-rev-parse in gitweb blame

From: Jakub Narebski <[email-masked]>
Date: Tue, 3 Jun 2008 14:45:22 +0200

On Tue, 3 June 2008, Rafael Garcia-Suarez wrote:
> 2008/6/3 Jakub Narebski <[email-masked]>:
>> Rafael Garcia-Suarez wrote:
>>>
>>> -             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).
> 
> Not sure how to do the same thing in pure Perl.

I was thinking about extending git-blame porcelain format (and also
incremental format, of course) by 'parents' (and perhaps
'original-parents') header...

> We could however cache the results of git-rev-parse, since the same
> rev is likely to appear many times in the list.

...but starting with cache of git-rev-parse results, or optionally
allowing extended sha-1 syntax (including <hash>^) in hash* CGI
parameters in gitweb would be a good idea.

But as I wrote, I'm fine with the patch as it is now.
-- 
Jakub Narebski
Poland