[PATCH 1/5] gitweb: Fix error in git_patchest_body for file creation/deletion patch
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Jan 7, 2007, 01:52 UTC
- Message-ID
- <1168134751748-git-send-email-jnareb@gmail.com>
- In-Reply-To
- <100171.86639.qm@web31814.mail.mud.yahoo.com>
$from_id, $to_id variables should be local per PATCH.
Fix error in git_patchset_body for file creation (deletion) patches, where instead of /dev/null as from-file (to-file) diff header line, it had link to previous file with current file name. This error occured only if there was another patch before file creation (deletion) patch.
Signed-off-by: Jakub Narebski <jnareb@gmail.com> --- Luben Tuikov wrote:
Show 7 quoted lines
> The second bug is displaying a renamed file with the > same name as the one of the preceding "patch". Saw > this one today when I pulled. > > To exhibit these, you need to "commitdiff" a commit > which has at least one rename and at least one regular > diff preceding the rename.
I think this should also fix this bug.
gitweb/gitweb.perl | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 7906280..04c8015 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -2378,7 +2378,6 @@ sub git_patchset_body { my $patch_line; my $diffinfo; my (%from, %to); - my ($from_id, $to_id); print "<div class=\"patchset\">\n"; @@ -2392,6 +2391,7 @@ sub git_patchset_body { PATCH: while ($patch_line) { my @diff_header; + my ($from_id, $to_id); # git diff header #assert($patch_line =~ m/^diff /) if DEBUG; @@ -2439,11 +2439,15 @@ sub git_patchset_body { $from{'href'} = href(action=>"blob", hash_base=>$hash_parent, hash=>$diffinfo->{'from_id'}, file_name=>$from{'file'}); + } else { + delete $from{'href'}; } if ($diffinfo->{'status'} ne "D") { # not deleted file $to{'href'} = href(action=>"blob", hash_base=>$hash, hash=>$diffinfo->{'to_id'}, file_name=>$to{'file'}); + } else { + delete $to{'href'}; } # this is first patch for raw difftree line with $patch_idx index # we index @$difftree array from 0, but number patches from 1
-- 1.4.4.3