Signed-off-by: Pat Notz <patnotz@xxxxxxxxx> --- t/t7500-commit.sh | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 57 insertions(+), 0 deletions(-) diff --git a/t/t7500-commit.sh b/t/t7500-commit.sh index 7656ed4..a2406f4 100755 --- a/t/t7500-commit.sh +++ b/t/t7500-commit.sh @@ -238,10 +238,67 @@ test_expect_success 'commit --fixup provides correct one-line commit message' ' commit_msg_is "fixup! target message subject line" ' +test_expect_success 'commit --squash works with -F' ' + commit_for_rebase_autosquash_setup && + echo "log message from file" >msgfile + git commit --squash HEAD~1 -F msgfile && + commit_msg_is "squash! target message subject linelog message from file" +' + +test_expect_success 'commit --squash works with -m' ' + commit_for_rebase_autosquash_setup && + git commit --squash HEAD~1 -m "foo bar\nbaz" && + commit_msg_is "squash! target message subject linefoo bar\nbaz" +' + +test_expect_success 'commit --squash works with -C' ' + commit_for_rebase_autosquash_setup && + git commit --squash HEAD~1 -C HEAD && + commit_msg_is "squash! target message subject lineintermediate commit" +' + +cat >editor <<\EOF +#!/bin/sh +sed -e "s/intermediate/edited/g" <"$1" >"$1-" +mv "$1-" "$1" +EOF +chmod 755 editor + +test_expect_success 'commit --squash works with -c' ' + commit_for_rebase_autosquash_setup && + EDITOR=./editor git commit --squash HEAD~1 -c HEAD && + commit_msg_is "squash! target message subject lineedited commit" +' + +test_expect_success 'commit --squash works with -C for same commit' ' + commit_for_rebase_autosquash_setup && + git commit --squash HEAD -C HEAD && + commit_msg_is "squash! intermediate commit" +' + +test_expect_success 'commit --squash works with -c for same commit' ' + commit_for_rebase_autosquash_setup && + EDITOR=./editor git commit --squash HEAD -c HEAD && + commit_msg_is "squash! edited commit" +' + +cat >editor <<\EOF +#!/bin/sh +echo "additional body content" >>"$1" +EOF +chmod 755 editor + +test_expect_success 'commit --squash works with editor' ' + commit_for_rebase_autosquash_setup && + EDITOR=./editor git commit --squash HEAD~1 && + commit_msg_is "squash! target message subject lineadditional body content" +' + test_expect_success 'invalid message options when using --fixup' ' echo changes >>foo && echo "message" >log && git add foo && + test_must_fail git commit --fixup HEAD~1 --squash HEAD~2 && test_must_fail git commit --fixup HEAD~1 --C HEAD~2 && test_must_fail git commit --fixup HEAD~1 --c HEAD~2 && test_must_fail git commit --fixup HEAD~1 -m "cmdline message" && -- 1.7.3 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html