Tests redirect to err file when grepping stderr
[stgit.git] / t / t1307-repair-amend.sh
blobd180db84f3478b03517112fd386d25d6b8304a2c
1 #!/bin/sh
2 test_description='Test "stg repair" of amended commits'
3 . ./test-lib.sh
5 test_expect_success 'Initialize the StGit patch' '
6 stg init &&
7 echo "hello" > foo.txt &&
8 stg add foo.txt &&
9 stg new -m p0 &&
10 stg refresh
13 test_expect_success 'Amend patch commit with git' '
14 echo "amended" >> foo.txt &&
15 git commit -a --amend -m "p0 amended"
18 test_expect_success 'Repair amended patch' '
19 stg repair &&
20 test "$(echo $(stg series --noprefix --applied))" = "p0-amended" &&
21 test "$(echo $(stg series --noprefix --unapplied))" = "p0" &&
22 test "$(tail -n1 foo.txt)" = "amended"
25 test_expect_success 'Reset to original patch' '
26 stg delete p0-amended &&
27 stg push p0
30 test_expect_success 'Add more applied and unapplied patches' '
31 stg new -m p1 &&
32 echo "from p1" >> foo.txt &&
33 stg refresh &&
34 stg new -m p2 &&
35 echo "from p2" >> foo.txt &&
36 stg refresh &&
37 stg pop p2 &&
38 test "$(echo $(stg series --noprefix --applied))" = "p0 p1" &&
39 test "$(echo $(stg series --noprefix --unapplied))" = "p2"
42 test_expect_success 'Amend middle patch' '
43 echo "p1 amended" >> foo.txt &&
44 git commit -a --amend -m "p1 amended"
47 test_expect_success 'Repair amended middle patch' '
48 stg repair &&
49 test "$(echo $(stg series --noprefix --applied))" = "p0 p1-amended" &&
50 test "$(echo $(stg series --noprefix --unapplied))" = "p1 p2" &&
51 test "$(tail -n1 foo.txt)" = "p1 amended"
54 test_expect_success 'Reset to non-amended patches' '
55 stg delete p1-amended &&
56 stg pop -a
59 test_expect_success 'Add commit onto stack base' '
60 echo "new commit" > foo.txt &&
61 git add foo.txt &&
62 git commit -m "add foo"
65 test_expect_success 'Repair new commit on stack base' '
66 stg repair &&
67 test "$(echo $(stg series --noprefix --applied))" = "" &&
68 test "$(echo $(stg series --noprefix --unapplied))" = "p0 p1 p2" &&
69 test "$(tail -n1 foo.txt)" = "new commit"
72 test_done