aboutsummaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2008-07-20 18:00:13 -0700
committerJunio C Hamano <gitster@pobox.com>2008-07-20 18:00:13 -0700
commit245648dede5e67180ce059a71e3f77a8bb7f52b4 (patch)
tree91d0038cb057d3e05e5d6094009d8a420163d4db /t
parent378335b37cd711a44bd4c85d3643db36a7f1ac67 (diff)
parent3e5057a8b4499f7b000cd465a3adf6ef22b89f2a (diff)
downloadgit-245648dede5e67180ce059a71e3f77a8bb7f52b4.tar.gz
git-245648dede5e67180ce059a71e3f77a8bb7f52b4.tar.xz
Merge branch 'ns/am-abort'
* ns/am-abort: git am --abort
Diffstat (limited to 't')
-rwxr-xr-xt/t4151-am-abort.sh56
1 files changed, 56 insertions, 0 deletions
diff --git a/t/t4151-am-abort.sh b/t/t4151-am-abort.sh
new file mode 100755
index 000000000..dda7e2c28
--- /dev/null
+++ b/t/t4151-am-abort.sh
@@ -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