chiark / gitweb /
stgit.el: Add "d" for a few diff commands, similar to git.el
[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