diff options
author | Matthias Lederhofer <matled@gmx.net> | 2006-08-06 19:24:47 +0200 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-08-06 13:42:41 -0700 |
commit | 1568515d5b8350a6087c0976c841387d71075c01 (patch) | |
tree | e8358263bd9c9f29d051992963503aa0bb6bbbfe /gitweb | |
parent | e349d21ab47ae4a3753749c4579cce150c71c768 (diff) | |
download | git-1568515d5b8350a6087c0976c841387d71075c01.tar.gz git-1568515d5b8350a6087c0976c841387d71075c01.tar.xz |
gitweb: fix commitdiff_plain for root commits
Signed-off-by: Matthias Lederhofer <matled@gmx.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'gitweb')
-rwxr-xr-x | gitweb/gitweb.perl | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index b8e266e0d..08de2ce77 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -2193,6 +2193,13 @@ sub git_commitdiff { sub git_commitdiff_plain { mkdir($git_temp, 0700); + my %co = git_read_commit($hash); + if (!%co) { + die_error(undef, "Unknown commit object"); + } + if (!defined $hash_parent) { + $hash_parent = $co{'parent'} || '--root'; + } open my $fd, "-|", $GIT, "diff-tree", '-r', $hash_parent, $hash or die_error(undef, "Open git-diff-tree failed"); my @difftree = map { chomp; $_ } <$fd>; @@ -2214,7 +2221,6 @@ sub git_commitdiff_plain { } print $cgi->header(-type => "text/plain", -charset => 'utf-8', '-content-disposition' => "inline; filename=\"git-$hash.patch\""); - my %co = git_read_commit($hash); my %ad = date_str($co{'author_epoch'}, $co{'author_tz'}); my $comment = $co{'comment'}; print "From: $co{'author'}\n" . |