summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-01-17 23:11:05 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-01-17 23:11:05 (GMT)
commit7902b72794dbf2366b9e7d8cb7417a3751e0955f (patch)
tree604bd4d56060a2ca59c2f41d7544a873a3151029 /t
parent6d1f93acfa79568ff60633ff09aa752f43cf8f5f (diff)
parentce73bb22d87abe16885b3e871a10de5a261e499f (diff)
downloadgit-7902b72794dbf2366b9e7d8cb7417a3751e0955f.zip
git-7902b72794dbf2366b9e7d8cb7417a3751e0955f.tar.gz
git-7902b72794dbf2366b9e7d8cb7417a3751e0955f.tar.bz2
Merge branch 'sb/sequencer-abort-safety' into maint
Unlike "git am --abort", "git cherry-pick --abort" moved HEAD back to where cherry-pick started while picking multiple changes, when the cherry-pick stopped to ask for help from the user, and the user did "git reset --hard" to a different commit in order to re-attempt the operation. * sb/sequencer-abort-safety: Revert "sequencer: remove useless get_dir() function" sequencer: remove useless get_dir() function sequencer: make sequencer abort safer t3510: test that cherry-pick --abort does not unsafely change HEAD am: change safe_to_abort()'s not rewinding error into a warning am: fix filename in safe_to_abort() error message
Diffstat (limited to 't')
-rwxr-xr-xt/t3510-cherry-pick-sequence.sh10
1 files changed, 10 insertions, 0 deletions
diff --git a/t/t3510-cherry-pick-sequence.sh b/t/t3510-cherry-pick-sequence.sh
index 7b7a89d..372307c 100755
--- a/t/t3510-cherry-pick-sequence.sh
+++ b/t/t3510-cherry-pick-sequence.sh
@@ -147,6 +147,16 @@ test_expect_success '--abort to cancel single cherry-pick' '
git diff-index --exit-code HEAD
'
+test_expect_success '--abort does not unsafely change HEAD' '
+ pristine_detach initial &&
+ test_must_fail git cherry-pick picked anotherpick &&
+ git reset --hard base &&
+ test_must_fail git cherry-pick picked anotherpick &&
+ git cherry-pick --abort 2>actual &&
+ test_i18ngrep "You seem to have moved HEAD" actual &&
+ test_cmp_rev base HEAD
+'
+
test_expect_success 'cherry-pick --abort to cancel multiple revert' '
pristine_detach anotherpick &&
test_expect_code 1 git revert base..picked &&