Commit | Line | Data |
---|---|---|
069a1e95 KH |
1 | #!/bin/sh |
2 | ||
3 | test_description='Simple test cases for "stg undo"' | |
4 | ||
5 | . ./test-lib.sh | |
6 | ||
7 | # Ignore our own output files. | |
8 | cat > .git/info/exclude <<EOF | |
9 | /expected.txt | |
10 | /actual.txt | |
11 | EOF | |
12 | ||
13 | test_expect_success 'Initialize StGit stack with three patches' ' | |
14 | stg init && | |
15 | echo 000 >> a && | |
16 | git add a && | |
17 | git commit -m a && | |
18 | echo 111 >> a && | |
19 | git commit -a -m p1 && | |
20 | echo 222 >> a && | |
21 | git commit -a -m p2 && | |
22 | echo 333 >> a && | |
23 | git commit -a -m p3 && | |
24 | stg uncommit -n 3 | |
25 | ' | |
26 | ||
27 | cat > expected.txt <<EOF | |
28 | C a | |
29 | EOF | |
30 | test_expect_success 'Pop middle patch, creating a conflict' ' | |
31 | conflict_old stg pop p2 && | |
32 | stg status a > actual.txt && | |
33 | test_cmp expected.txt actual.txt && | |
34 | test "$(echo $(stg series))" = "+ p1 > p3 - p2" | |
35 | ' | |
36 | ||
37 | test_expect_success 'Try to undo without --hard' ' | |
38 | command_error stg undo && | |
39 | stg status a > actual.txt && | |
40 | test_cmp expected.txt actual.txt && | |
41 | test "$(echo $(stg series))" = "+ p1 > p3 - p2" | |
42 | ' | |
43 | ||
44 | cat > expected.txt <<EOF | |
45 | EOF | |
46 | test_expect_success 'Try to undo with --hard' ' | |
47 | stg undo --hard && | |
48 | stg status a > actual.txt && | |
49 | test_cmp expected.txt actual.txt && | |
50 | test "$(echo $(stg series))" = "> p1 - p3 - p2" | |
51 | ' | |
52 | ||
53 | test_done |