gitweb: Do not show 'patch' link for merge commits

The 'patch' view is about generating text/plain patch that can be
given to "git am", and "git am" doesn't understand merges anyway.
Therefore link to 'patch' view should not be shown for merge commits.

Also call to git-format-patch inside the 'patch' action would fail
when 'patch' action is called for a merge commit, with "Reading
git-format-patch failed" text as 'patch' view body.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jakub Narebski 2009-10-09 14:26:44 +02:00 committed by Junio C Hamano
parent 1be224ba6e
commit 1655c98790

View File

@ -5328,7 +5328,7 @@ sub git_commit {
} @$parents ) .
')';
}
if (gitweb_check_feature('patches')) {
if (gitweb_check_feature('patches') && @$parents <= 1) {
$formats_nav .= " | " .
$cgi->a({-href => href(action=>"patch", -replay=>1)},
"patch");
@ -5616,7 +5616,7 @@ sub git_commitdiff {
$formats_nav =
$cgi->a({-href => href(action=>"commitdiff_plain", -replay=>1)},
"raw");
if ($patch_max) {
if ($patch_max && @{$co{'parents'}} <= 1) {
$formats_nav .= " | " .
$cgi->a({-href => href(action=>"patch", -replay=>1)},
"patch");
@ -5824,7 +5824,7 @@ sub git_commitdiff_plain {
# format-patch-style patches
sub git_patch {
git_commitdiff(-format => 'patch', -single=> 1);
git_commitdiff(-format => 'patch', -single => 1);
}
sub git_patches {