Merge branch 'jc/commit-is-spelled-with-two-ems'
[gitweb.git] / t / t3404-rebase-interactive.sh
index f85716122fc625ccf18a2e904f963536aed395c9..50e22b1cadff4252dfb552a4db930f49544952aa 100755 (executable)
@@ -1037,4 +1037,41 @@ test_expect_success 'rebase -i with --strategy and -X' '
        test $(cat file1) = Z
 '
 
+test_expect_success 'rebase -i error on commits with \ in message' '
+       current_head=$(git rev-parse HEAD)
+       test_when_finished "git rebase --abort; git reset --hard $current_head; rm -f error" &&
+       test_commit TO-REMOVE will-conflict old-content &&
+       test_commit "\temp" will-conflict new-content dummy &&
+       (
+       EDITOR=true &&
+       export EDITOR &&
+       test_must_fail git rebase -i HEAD^ --onto HEAD^^ 2>error
+       ) &&
+       test_expect_code 1 grep  "      emp" error
+'
+
+test_expect_success 'short SHA-1 setup' '
+       test_when_finished "git checkout master" &&
+       git checkout --orphan collide &&
+       git rm -rf . &&
+       (
+       unset test_tick &&
+       test_commit collide1 collide &&
+       test_commit --notick collide2 collide &&
+       test_commit --notick collide3 collide
+       )
+'
+
+test_expect_success 'short SHA-1 collide' '
+       test_when_finished "reset_rebase && git checkout master" &&
+       git checkout collide &&
+       (
+       unset test_tick &&
+       test_tick &&
+       set_fake_editor &&
+       FAKE_COMMIT_MESSAGE="collide2 ac4f2ee" \
+       FAKE_LINES="reword 1 2" git rebase -i HEAD~2
+       )
+'
+
 test_done