t / t4151-am-abort.shon commit Rename path_list to string_list (c455c87)
   1#!/bin/sh
   2
   3test_description='am --abort'
   4
   5. ./test-lib.sh
   6
   7test_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 &&
  17        for i in 2 3 4 5
  18        do
  19                echo $i >>file-1 &&
  20                test_tick &&
  21                git commit -a -m $i || break
  22        done &&
  23        git format-patch initial &&
  24        git checkout -b side initial &&
  25        echo local change >file-2-expect
  26'
  27
  28for with3 in '' ' -3'
  29do
  30        test_expect_success "am$with3 stops at a patch that does not apply" '
  31
  32                git reset --hard initial &&
  33                cp file-2-expect file-2 &&
  34
  35                test_must_fail git am$with3 000[124]-*.patch &&
  36                git log --pretty=tformat:%s >actual &&
  37                for i in 3 2 initial
  38                do
  39                        echo $i
  40                done >expect &&
  41                test_cmp expect actual
  42        '
  43
  44        test_expect_success "am --abort goes back after failed am$with3" '
  45                git-am --abort &&
  46                git rev-parse HEAD >actual &&
  47                git rev-parse initial >expect &&
  48                test_cmp expect actual &&
  49                test_cmp file-2-expect file-2 &&
  50                git diff-index --exit-code --cached HEAD &&
  51                test ! -f .git/rr-cache/MERGE_RR
  52        '
  53
  54done
  55
  56test_done