diff options
author | Vishal Verma <vishal@stellar.sh> | 2019-05-24 12:36:17 -0600 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2019-05-28 11:53:11 -0700 |
commit | 1d14d0c9949c02260fe4f8b3a54a1b5c605823a2 (patch) | |
tree | ddafb00ad119393fe27fd594541f757a0fb46270 /t/t7600-merge.sh | |
parent | mingw: allow building with an MSYS2 runtime v3.x (diff) | |
download | tgif-1d14d0c9949c02260fe4f8b3a54a1b5c605823a2.tar.xz |
merge: refuse --commit with --squash
Convert option_commit to tristate, representing the states of
'default/untouched', 'enabled-by-cli', 'disabled-by-cli'. With this in
place, check whether option_commit was enabled by cli when squashing a
merge. If so, error out, as this is not supported.
Previously, when --squash was supplied, 'option_commit' was silently
dropped. This could have been surprising to a user who tried to override
the no-commit behavior of squash using --commit explicitly.
Add a note to the --squash option for git-merge to clarify the
incompatibility, and add a test case to t7600-merge.sh
Cc: Junio C Hamano <gitster@pobox.com>
Cc: Rafael Ascensão <rafa.almas@gmail.com>
Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Vishal Verma <vishal@stellar.sh>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t7600-merge.sh')
-rwxr-xr-x | t/t7600-merge.sh | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/t/t7600-merge.sh b/t/t7600-merge.sh index 106148254d..eeb2222b4a 100755 --- a/t/t7600-merge.sh +++ b/t/t7600-merge.sh @@ -525,6 +525,12 @@ test_expect_success 'combining --squash and --no-ff is refused' ' test_must_fail git merge --no-ff --squash c1 ' +test_expect_success 'combining --squash and --commit is refused' ' + git reset --hard c0 && + test_must_fail git merge --squash --commit c1 && + test_must_fail git merge --commit --squash c1 +' + test_expect_success 'option --ff-only overwrites --no-ff' ' git merge --no-ff --ff-only c1 && test_must_fail git merge --no-ff --ff-only c2 |