Subject: [PATCH v2] t4015: let the test pass with any default branch name

From: "Johannes Schindelin via GitGitGadget" <[email-masked]>
Date: Wed, 18 Nov 2020 23:35:44 +0000

From: Johannes Schindelin <[email-masked]>

We do not need to hard-code the actual branch name, as we can use the
`test_commit` function to simplify the code and use the tag it
generates, thereby being a lot more precise in what we want.

Strangely enough, this test case would have succeeded even with an
overridden default branch name, obviously for the wrong reason. Let's
verify that it passes for the expected reason, by looking for a
tell-tale in Git's output.

Signed-off-by: Johannes Schindelin <[email-masked]>
---
    t4015: let the test pass with any default branch name
    
    Aaaaand another issue, also found while working on 
    https://github.com/gitgitgadget/git/pull/762.
    
    Changes since v1:
    
     * We now use test_commit and the tag it creates, rather than the
       reflog.
     *

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-794%2Fdscho%2Ft4015-and-default-branch-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-794/dscho/t4015-and-default-branch-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/794

Range-diff vs v1:

 1:  5467cae0dd ! 1:  2f6d07fe90 t4015: let the test pass with any default branch name
     @@ Metadata
       ## Commit message ##
          t4015: let the test pass with any default branch name
      
     -    We do not need to hard-code the actual branch name, as we have access to
     -    the reflog and can be a lot more precise at what we want.
     +    We do not need to hard-code the actual branch name, as we can use the
     +    `test_commit` function to simplify the code and use the tag it
     +    generates, thereby being a lot more precise in what we want.
      
          Strangely enough, this test case would have succeeded even with an
          overridden default branch name, obviously for the wrong reason. Let's
     @@ Commit message
          Signed-off-by: Johannes Schindelin <[email-masked]>
      
       ## t/t4015-diff-whitespace.sh ##
     -@@ t/t4015-diff-whitespace.sh: test_expect_success 'combined diff with autocrlf conversion' '
     +@@ t/t4015-diff-whitespace.sh: test_expect_success 'rename empty' '
     + test_expect_success 'combined diff with autocrlf conversion' '
     + 
     + 	git reset --hard &&
     +-	echo >x hello &&
     +-	git commit -m "one side" x &&
     ++	test_commit "one side" x hello one-side &&
     + 	git checkout HEAD^ &&
       	echo >x goodbye &&
       	git commit -m "the other side" x &&
       	git config core.autocrlf true &&
      -	test_must_fail git merge master &&
     -+	test_must_fail git merge @{2} >actual &&
     ++	test_must_fail git merge one-side >actual &&
      +	test_i18ngrep "Automatic merge failed" actual &&
       
       	git diff >actual.raw &&

 t/t4015-diff-whitespace.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/t/t4015-diff-whitespace.sh b/t/t4015-diff-whitespace.sh
index 8bdaa0a693..47f0e2889d 100755
--- a/t/t4015-diff-whitespace.sh
+++ b/t/t4015-diff-whitespace.sh
@@ -877,13 +877,13 @@ test_expect_success 'rename empty' '
 test_expect_success 'combined diff with autocrlf conversion' '
 
 	git reset --hard &&
-	echo >x hello &&
-	git commit -m "one side" x &&
+	test_commit "one side" x hello one-side &&
 	git checkout HEAD^ &&
 	echo >x goodbye &&
 	git commit -m "the other side" x &&
 	git config core.autocrlf true &&
-	test_must_fail git merge master &&
+	test_must_fail git merge one-side >actual &&
+	test_i18ngrep "Automatic merge failed" actual &&
 
 	git diff >actual.raw &&
 	sed -e "1,/^@@@/d" actual.raw >actual &&

base-commit: e31aba42fb12bdeb0f850829e008e1e3f43af500
-- 
gitgitgadget