From: Junio C Hamano Date: Thu, 17 Oct 2013 22:45:50 +0000 (-0700) Subject: Merge branch 'es/rebase-i-no-abbrev' into maint X-Git-Tag: v1.8.4.2~20 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/f8a3fd28fd9e61852f5944335e7338c52c8c5abd Merge branch 'es/rebase-i-no-abbrev' into maint * es/rebase-i-no-abbrev: rebase -i: fix short SHA-1 collision t3404: rebase -i: demonstrate short SHA-1 collision t3404: make tests more self-contained Conflicts: t/t3404-rebase-interactive.sh --- f8a3fd28fd9e61852f5944335e7338c52c8c5abd diff --cc t/t3404-rebase-interactive.sh index 4dbeddb0de,6cdc2eadc7..50e22b1cad --- a/t/t3404-rebase-interactive.sh +++ b/t/t3404-rebase-interactive.sh @@@ -976,17 -1037,28 +1037,41 @@@ test_expect_success 'rebase -i with --s 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