Skip to content

Commit 8c5cea0

Browse files
jrngitster
authored andcommitted
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 <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent f23e8de commit 8c5cea0

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

t/t7600-merge.sh

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ test_expect_success 'set up test data and helpers' '
3636
printf "%s\n" "1 X" 2 3 4 5 6 7 8 9 >result.1 &&
3737
printf "%s\n" "1 X" 2 3 4 "5 X" 6 7 8 9 >result.1-5 &&
3838
printf "%s\n" "1 X" 2 3 4 "5 X" 6 7 8 "9 X" >result.1-5-9 &&
39+
>empty &&
3940
4041
create_merge_msgs() {
4142
echo "Merge commit '\''c2'\''" >msg.1-5 &&
@@ -477,8 +478,8 @@ test_debug 'git log --graph --decorate --oneline --all'
477478

478479
test_expect_success 'combine branch.master.mergeoptions with merge.ff' '
479480
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 &&
482483
test_tick &&
483484
git merge c1 &&
484485
git config --remove-section "branch.master" &&
@@ -487,7 +488,18 @@ test_expect_success 'combine branch.master.mergeoptions with merge.ff' '
487488
verify_parents "$c0"
488489
'
489490

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+
490501
test_expect_success 'combining --squash and --no-ff is refused' '
502+
git reset --hard c0 &&
491503
test_must_fail git merge --squash --no-ff c1 &&
492504
test_must_fail git merge --no-ff --squash c1
493505
'

0 commit comments

Comments
 (0)