add tests of commit --squash
t7500: test expected behavior of commit --squash t3415: test interaction of commit --squash with rebase --autosquash t3900: test commit --squash with i18n encodings Signed-off-by: Pat Notz <patnotz@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
89ac1223c0
commit
7951bd3029
@ -115,4 +115,8 @@ test_expect_success 'use commit --fixup' '
|
||||
test_auto_commit_flags fixup 1
|
||||
'
|
||||
|
||||
test_expect_success 'use commit --squash' '
|
||||
test_auto_commit_flags squash 2
|
||||
'
|
||||
|
||||
test_done
|
||||
|
@ -160,4 +160,6 @@ test_commit_autosquash_flags () {
|
||||
|
||||
test_commit_autosquash_flags eucJP fixup
|
||||
|
||||
test_commit_autosquash_flags ISO-2022-JP squash '-m "squash message"'
|
||||
|
||||
test_done
|
||||
|
@ -238,10 +238,57 @@ 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"
|
||||
'
|
||||
|
||||
test_expect_success 'commit --squash works with -c' '
|
||||
commit_for_rebase_autosquash_setup &&
|
||||
test_set_editor "$TEST_DIRECTORY"/t7500/edit-content &&
|
||||
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 &&
|
||||
test_set_editor "$TEST_DIRECTORY"/t7500/edit-content &&
|
||||
git commit --squash HEAD -c HEAD &&
|
||||
commit_msg_is "squash! edited commit"
|
||||
'
|
||||
|
||||
test_expect_success 'commit --squash works with editor' '
|
||||
commit_for_rebase_autosquash_setup &&
|
||||
test_set_editor "$TEST_DIRECTORY"/t7500/add-content &&
|
||||
git commit --squash HEAD~1 &&
|
||||
commit_msg_is "squash! target message subject linecommit message"
|
||||
'
|
||||
|
||||
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" &&
|
||||
|
4
t/t7500/edit-content
Executable file
4
t/t7500/edit-content
Executable file
@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
sed -e "s/intermediate/edited/g" <"$1" >"$1-"
|
||||
mv "$1-" "$1"
|
||||
exit 0
|
Loading…
Reference in New Issue
Block a user