Skip to content

Commit

Permalink
tests: check git does not barf on merge.ff values for future versions…
Browse files Browse the repository at this point in the history
… 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>
  • Loading branch information
Jonathan Nieder authored and Junio C Hamano committed May 6, 2011
1 parent f23e8de commit 8c5cea0
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions t/t7600-merge.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ test_expect_success 'set up test data and helpers' '
printf "%s\n" "1 X" 2 3 4 5 6 7 8 9 >result.1 &&
printf "%s\n" "1 X" 2 3 4 "5 X" 6 7 8 9 >result.1-5 &&
printf "%s\n" "1 X" 2 3 4 "5 X" 6 7 8 "9 X" >result.1-5-9 &&
>empty &&
create_merge_msgs() {
echo "Merge commit '\''c2'\''" >msg.1-5 &&
Expand Down Expand Up @@ -477,8 +478,8 @@ test_debug 'git log --graph --decorate --oneline --all'

test_expect_success 'combine branch.master.mergeoptions with merge.ff' '
git reset --hard c0 &&
git config branch.master.mergeoptions --ff
git config merge.ff false
git config branch.master.mergeoptions --ff &&
git config merge.ff false &&
test_tick &&
git merge c1 &&
git config --remove-section "branch.master" &&
Expand All @@ -487,7 +488,18 @@ test_expect_success 'combine branch.master.mergeoptions with merge.ff' '
verify_parents "$c0"
'

test_expect_success 'tolerate unknown values for merge.ff' '
git reset --hard c0 &&
git config merge.ff something-new &&
test_tick &&
git merge c1 2>message &&
git config --remove-section "merge" &&
verify_head "$c1" &&
test_cmp empty message
'

test_expect_success 'combining --squash and --no-ff is refused' '
git reset --hard c0 &&
test_must_fail git merge --squash --no-ff c1 &&
test_must_fail git merge --no-ff --squash c1
'
Expand Down

0 comments on commit 8c5cea0

Please sign in to comment.