stgit.el: Allow revert on index and work tree
[stgit] / t / t2500-clean.sh
1 #!/bin/sh
2
3 test_description='Run "stg clean"'
4
5 . ./test-lib.sh
6
7 test_expect_success 'Initialize StGit stack' '
8 stg init &&
9 stg new e0 -m e0 &&
10 stg new p0 -m p0 &&
11 echo foo > foo.txt &&
12 git add foo.txt &&
13 stg refresh &&
14 stg new e1 -m e1 &&
15 stg new e2 -m e2 &&
16 stg pop
17 '
18
19 test_expect_success 'Clean empty patches' '
20 [ "$(echo $(stg series --applied --noprefix))" = "e0 p0 e1" ] &&
21 [ "$(echo $(stg series --unapplied --noprefix))" = "e2" ] &&
22 stg clean &&
23 [ "$(echo $(stg series --applied --noprefix))" = "p0" ] &&
24 [ "$(echo $(stg series --unapplied --noprefix))" = "" ]
25 '
26
27 test_expect_success 'Create a conflict' '
28 stg new p1 -m p1 &&
29 echo bar > foo.txt &&
30 stg refresh &&
31 stg pop &&
32 stg new p2 -m p2
33 echo quux > foo.txt &&
34 stg refresh &&
35 conflict stg push
36 '
37
38 test_expect_success 'Make sure conflicting patches are preserved' '
39 stg clean &&
40 [ "$(echo $(stg series --applied --noprefix))" = "p0 p2 p1" ] &&
41 [ "$(echo $(stg series --unapplied --noprefix))" = "" ]
42 '
43
44 test_done