Merge branch 'mk/show-s-no-extra-blank-line-for-merges' into maint
authorJunio C Hamano <gitster@pobox.com>
Wed, 25 Jun 2014 18:49:39 +0000 (11:49 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 25 Jun 2014 18:49:39 +0000 (11:49 -0700)
"git show -s" (i.e. show log message only) used to incorrectly emit
an extra blank line after a merge commit.

* mk/show-s-no-extra-blank-line-for-merges:
git-show: fix 'git show -s' to not add extra terminator after merge commit

combine-diff.c
t/t1507-rev-parse-upstream.sh
t/t7007-show.sh
t/t7600-merge.sh
index 24ca7e2334b68e06afd24051ad1aafcc129bcba4..fd6d63c703062e00ff77ce4de53e35a93e1e6e4d 100644 (file)
@@ -1339,7 +1339,8 @@ void diff_tree_combined(const unsigned char *sha1,
                if (show_log_first && i == 0) {
                        show_log(rev);
 
-                       if (rev->verbose_header && opt->output_format)
+                       if (rev->verbose_header && opt->output_format &&
+                           opt->output_format != DIFF_FORMAT_NO_OUTPUT)
                                printf("%s%c", diff_line_prefix(opt),
                                       opt->line_termination);
                }
index 178694ee63937a9ec1f8d182d54441c2d20bd4a3..1978947c4196fb666d55395bedc53ae149b6d13d 100755 (executable)
@@ -121,7 +121,7 @@ test_expect_success 'merge my-side@{u} records the correct name' '
        git branch -D new ;# can fail but is ok
        git branch -t new my-side@{u} &&
        git merge -s ours new@{u} &&
-       git show -s --pretty=format:%s >actual &&
+       git show -s --pretty=tformat:%s >actual &&
        echo "Merge remote-tracking branch ${sq}origin/side${sq}" >expect &&
        test_cmp expect actual
 )
index e41fa00b80e9b3eb47e45be848397ccda0f47c53..1b824fe5ede3b933350696b78b6f53c1c69d0fff 100755 (executable)
@@ -24,7 +24,8 @@ test_expect_success 'set up a bit of history' '
        git tag -m "annotated tag" annotated &&
        git checkout -b side HEAD^^ &&
        test_commit side2 &&
-       test_commit side3
+       test_commit side3 &&
+       test_merge merge main3
 '
 
 test_expect_success 'showing two commits' '
@@ -109,8 +110,11 @@ test_expect_success 'showing range' '
 '
 
 test_expect_success '-s suppresses diff' '
-       echo main3 >expect &&
-       git show -s --format=%s main3 >actual &&
+       cat >expect <<-\EOF &&
+       merge
+       main3
+       EOF
+       git show -s --format=%s merge main3 >actual &&
        test_cmp expect actual
 '
 
index 10aa028017833479c43bbb551741dfd36d9741aa..b16462132fd01f21cfd2af40a3c769803b0b7c50 100755 (executable)
@@ -57,11 +57,10 @@ create_merge_msgs () {
                git log --no-merges ^HEAD c2 c3
        } >squash.1-5-9 &&
        : >msg.nologff &&
-       echo >msg.nolognoff &&
+       : >msg.nolognoff &&
        {
                echo "* tag 'c3':" &&
-               echo "  commit 3" &&
-               echo
+               echo "  commit 3"
        } >msg.log
 }
 
@@ -71,7 +70,7 @@ verify_merge () {
        git diff --exit-code &&
        if test -n "$3"
        then
-               git show -s --pretty=format:%s HEAD >msg.act &&
+               git show -s --pretty=tformat:%s HEAD >msg.act &&
                test_cmp "$3" msg.act
        fi
 }
@@ -620,10 +619,10 @@ test_expect_success 'merge early part of c2' '
        git tag c6 &&
        git branch -f c5-branch c5 &&
        git merge c5-branch~1 &&
-       git show -s --pretty=format:%s HEAD >actual.branch &&
+       git show -s --pretty=tformat:%s HEAD >actual.branch &&
        git reset --keep HEAD^ &&
        git merge c5~1 &&
-       git show -s --pretty=format:%s HEAD >actual.tag &&
+       git show -s --pretty=tformat:%s HEAD >actual.tag &&
        test_cmp expected.branch actual.branch &&
        test_cmp expected.tag actual.tag
 '