tests: check git does not barf on merge.ff values for future versions of git

Maybe some day in the future we will want to support a syntax like [merge] ff = branch1 ff = branch2 ff = branch3 in addition to the currently permitted "true", "false", and "only" values. So make sure we continue to treat such configurations as though an unknown variable had been defined rather than erroring out, until it is time to implement such a thing, so configuration files using such a facility can be shared between present and future git. While at it, add a few missing && and start the "combining --squash and --no-ff" test with a known state so we can be sure it does not succeed or fail for the wrong reason. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Jonathan Nieder committed May 6, 2011 at 16:59 UTC 8c5cea0095ee57c36fddfb9016810c230ce26557
1 file changed +14 -2
t/t7600-merge.sh
+14 -2
@@ -36,6 +36,7 @@ test_expect_success 'set up test data and helpers' '
36 printf "%s\n" "1 X" 2 3 4 5 6 7 8 9 >result.1 &&
37 printf "%s\n" "1 X" 2 3 4 "5 X" 6 7 8 9 >result.1-5 &&
38 printf "%s\n" "1 X" 2 3 4 "5 X" 6 7 8 "9 X" >result.1-5-9 &&
39 + >empty &&
40
41 create_merge_msgs() {
42 echo "Merge commit '\''c2'\''" >msg.1-5 &&
@@ -477,8 +478,8 @@ test_debug 'git log --graph --decorate --oneline --all'
478
479 test_expect_success 'combine branch.master.mergeoptions with merge.ff' '
480 git reset --hard c0 &&
480 - git config branch.master.mergeoptions --ff
481 - git config merge.ff false
481 + git config branch.master.mergeoptions --ff &&
482 + git config merge.ff false &&
483 test_tick &&
484 git merge c1 &&
485 git config --remove-section "branch.master" &&
@@ -487,7 +488,18 @@ test_expect_success 'combine branch.master.mergeoptions with merge.ff' '
488 verify_parents "$c0"
489 '
490
491 +test_expect_success 'tolerate unknown values for merge.ff' '
492 + git reset --hard c0 &&
493 + git config merge.ff something-new &&
494 + test_tick &&
495 + git merge c1 2>message &&
496 + git config --remove-section "merge" &&
497 + verify_head "$c1" &&
498 + test_cmp empty message
499 +'
500 +
501 test_expect_success 'combining --squash and --no-ff is refused' '
502 + git reset --hard c0 &&
503 test_must_fail git merge --squash --no-ff c1 &&
504 test_must_fail git merge --no-ff --squash c1
505 '