You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.4 KiB
65 lines
1.4 KiB
#!/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 6 |
|
do |
|
echo $i >>file-1 && |
|
echo $i >otherfile-$i && |
|
git add otherfile-$i && |
|
test_tick && |
|
git commit -a -m $i || break |
|
done && |
|
git format-patch --no-numbered 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[1245]-*.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$with3 --skip continue after failed am$with3" ' |
|
test_must_fail git am$with3 --skip >output && |
|
test "$(grep "^Applying" output)" = "Applying: 6" && |
|
test_cmp file-2-expect file-2 && |
|
test ! -f .git/MERGE_RR |
|
' |
|
|
|
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/MERGE_RR |
|
' |
|
|
|
done |
|
|
|
test_done
|
|
|