Nanako Shiraishi | 3e5057a | 2008-07-16 19:39:10 +0900 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
| 3 | test_description='am --abort' |
| 4 | |
| 5 | . ./test-lib.sh |
| 6 | |
| 7 | test_expect_success setup ' |
| 8 | for i in a b c d e f g |
| 9 | do |
| 10 | echo $i |
| 11 | done >file-1 && |
| 12 | cp file-1 file-2 && |
| 13 | test_tick && |
| 14 | git add file-1 file-2 && |
| 15 | git commit -m initial && |
| 16 | git tag initial && |
Olivier Marin | 95f8ebb | 2008-07-21 15:39:06 +0200 | [diff] [blame] | 17 | for i in 2 3 4 5 6 |
Nanako Shiraishi | 3e5057a | 2008-07-16 19:39:10 +0900 | [diff] [blame] | 18 | do |
| 19 | echo $i >>file-1 && |
Olivier Marin | 9944d1a | 2008-07-24 14:44:40 +0200 | [diff] [blame] | 20 | echo $i >otherfile-$i && |
| 21 | git add otherfile-$i && |
Nanako Shiraishi | 3e5057a | 2008-07-16 19:39:10 +0900 | [diff] [blame] | 22 | test_tick && |
| 23 | git commit -a -m $i || break |
| 24 | done && |
Brian Gernhardt | a567fdc | 2008-10-02 16:55:39 -0400 | [diff] [blame] | 25 | git format-patch --no-numbered initial && |
Nanako Shiraishi | 3e5057a | 2008-07-16 19:39:10 +0900 | [diff] [blame] | 26 | git checkout -b side initial && |
| 27 | echo local change >file-2-expect |
| 28 | ' |
| 29 | |
| 30 | for with3 in '' ' -3' |
| 31 | do |
| 32 | test_expect_success "am$with3 stops at a patch that does not apply" ' |
| 33 | |
| 34 | git reset --hard initial && |
| 35 | cp file-2-expect file-2 && |
| 36 | |
Olivier Marin | 95f8ebb | 2008-07-21 15:39:06 +0200 | [diff] [blame] | 37 | test_must_fail git am$with3 000[1245]-*.patch && |
Nanako Shiraishi | 3e5057a | 2008-07-16 19:39:10 +0900 | [diff] [blame] | 38 | git log --pretty=tformat:%s >actual && |
| 39 | for i in 3 2 initial |
| 40 | do |
| 41 | echo $i |
| 42 | done >expect && |
| 43 | test_cmp expect actual |
| 44 | ' |
| 45 | |
Olivier Marin | 95f8ebb | 2008-07-21 15:39:06 +0200 | [diff] [blame] | 46 | test_expect_success "am$with3 --skip continue after failed am$with3" ' |
Nanako Shiraishi | 3604e7c | 2008-09-03 17:59:29 +0900 | [diff] [blame] | 47 | test_must_fail git am$with3 --skip >output && |
Stephan Beyer | c8fe198 | 2008-07-23 18:46:36 +0200 | [diff] [blame] | 48 | test "$(grep "^Applying" output)" = "Applying: 6" && |
Olivier Marin | 95f8ebb | 2008-07-21 15:39:06 +0200 | [diff] [blame] | 49 | test_cmp file-2-expect file-2 && |
| 50 | test ! -f .git/rr-cache/MERGE_RR |
| 51 | ' |
| 52 | |
Nanako Shiraishi | 3e5057a | 2008-07-16 19:39:10 +0900 | [diff] [blame] | 53 | test_expect_success "am --abort goes back after failed am$with3" ' |
Nanako Shiraishi | 3604e7c | 2008-09-03 17:59:29 +0900 | [diff] [blame] | 54 | git am --abort && |
Nanako Shiraishi | 3e5057a | 2008-07-16 19:39:10 +0900 | [diff] [blame] | 55 | git rev-parse HEAD >actual && |
| 56 | git rev-parse initial >expect && |
| 57 | test_cmp expect actual && |
| 58 | test_cmp file-2-expect file-2 && |
| 59 | git diff-index --exit-code --cached HEAD && |
| 60 | test ! -f .git/rr-cache/MERGE_RR |
| 61 | ' |
| 62 | |
| 63 | done |
| 64 | |
| 65 | test_done |