diff options
author | Jakub Narebski <jnareb@gmail.com> | 2006-12-15 17:53:45 +0100 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-12-16 12:03:22 -0800 |
commit | 549ab4a30703012ff3a12b5455d319216805a8db (patch) | |
tree | 948c35c87cd6b857900f701554400540e0f83376 /gitweb | |
parent | bfe2191f79aa4e74eafc709ea41cc0999c9f5be5 (diff) | |
download | git-549ab4a30703012ff3a12b5455d319216805a8db.tar.gz git-549ab4a30703012ff3a12b5455d319216805a8db.tar.xz |
gitweb: Do not show difftree for merges in "commit" view
Do not show difftree against first parent for merges (commits with
more than one parent) in "commit" view, because it usually is
misleading. git-show and git-whatchanged doesn't show diff for merges
either.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'gitweb')
-rwxr-xr-x | gitweb/gitweb.perl | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 040ee719f..ebf35a1e2 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -3572,14 +3572,19 @@ sub git_commit { my %cd = parse_date($co{'committer_epoch'}, $co{'committer_tz'}); my $parent = $co{'parent'}; + my $parents = $co{'parents'}; if (!defined $parent) { $parent = "--root"; } - open my $fd, "-|", git_cmd(), "diff-tree", '-r', "--no-commit-id", - @diff_opts, $parent, $hash, "--" - or die_error(undef, "Open git-diff-tree failed"); - my @difftree = map { chomp; $_ } <$fd>; - close $fd or die_error(undef, "Reading git-diff-tree failed"); + my @difftree; + if (@$parents <= 1) { + # difftree output is not printed for merges + open my $fd, "-|", git_cmd(), "diff-tree", '-r', "--no-commit-id", + @diff_opts, $parent, $hash, "--" + or die_error(undef, "Open git-diff-tree failed"); + @difftree = map { chomp; $_ } <$fd>; + close $fd or die_error(undef, "Reading git-diff-tree failed"); + } # non-textual hash id's can be cached my $expires; @@ -3641,7 +3646,7 @@ sub git_commit { } print "</td>" . "</tr>\n"; - my $parents = $co{'parents'}; + foreach my $par (@$parents) { print "<tr>" . "<td>parent</td>" . @@ -3663,7 +3668,10 @@ sub git_commit { git_print_log($co{'comment'}); print "</div>\n"; - git_difftree_body(\@difftree, $hash, $parent); + if (@$parents <= 1) { + # do not output difftree/whatchanged for merges + git_difftree_body(\@difftree, $hash, $parent); + } git_footer_html(); } |