Browse Source
After failing to apply patches in the middle of a series, "git am --abort" lets you go back to the original commit. [jc: doc/help update from Olivier, and fixups for "am -3" squashed in] Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com> Signed-off-by: Olivier Marin <dkr@freesurf.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint


3 changed files with 77 additions and 5 deletions
@ -0,0 +1,56 @@
@@ -0,0 +1,56 @@
|
||||
#!/bin/sh |
||||
|
||||
test_description='am --abort' |
||||
|
||||
. ./test-lib.sh |
||||
|
||||
test_expect_success setup ' |
||||
for i in a b c d e f g |
||||
do |
||||
echo $i |
||||
done >file-1 && |
||||
cp file-1 file-2 && |
||||
test_tick && |
||||
git add file-1 file-2 && |
||||
git commit -m initial && |
||||
git tag initial && |
||||
for i in 2 3 4 5 |
||||
do |
||||
echo $i >>file-1 && |
||||
test_tick && |
||||
git commit -a -m $i || break |
||||
done && |
||||
git format-patch initial && |
||||
git checkout -b side initial && |
||||
echo local change >file-2-expect |
||||
' |
||||
|
||||
for with3 in '' ' -3' |
||||
do |
||||
test_expect_success "am$with3 stops at a patch that does not apply" ' |
||||
|
||||
git reset --hard initial && |
||||
cp file-2-expect file-2 && |
||||
|
||||
test_must_fail git am$with3 000[124]-*.patch && |
||||
git log --pretty=tformat:%s >actual && |
||||
for i in 3 2 initial |
||||
do |
||||
echo $i |
||||
done >expect && |
||||
test_cmp expect actual |
||||
' |
||||
|
||||
test_expect_success "am --abort goes back after failed am$with3" ' |
||||
git-am --abort && |
||||
git rev-parse HEAD >actual && |
||||
git rev-parse initial >expect && |
||||
test_cmp expect actual && |
||||
test_cmp file-2-expect file-2 && |
||||
git diff-index --exit-code --cached HEAD && |
||||
test ! -f .git/rr-cache/MERGE_RR |
||||
' |
||||
|
||||
done |
||||
|
||||
test_done |
Loading…
Reference in new issue