#!/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