chiark / gitweb /
stgit.el: Add "d" for a few diff commands, similar to git.el
[stgit] / t / t3000-dirty-merge.sh
1 #!/bin/sh
2
3 test_description='Try a push that requires merging a file that is dirty'
4
5 . ./test-lib.sh
6
7 test_expect_success 'Initialize StGit stack with two patches' '
8     stg init &&
9     touch a &&
10     git add a &&
11     git commit -m a &&
12     echo 1 > a &&
13     git commit -a -m p1 &&
14     echo 2 > a &&
15     git commit -a -m p2 &&
16     stg uncommit -n 2
17 '
18
19 test_expect_success 'Pop one patch and update the other' '
20     stg goto p1 &&
21     echo 3 > a &&
22     stg refresh
23 '
24
25 test_expect_success 'Push with dirty worktree' '
26     echo 4 > a &&
27     [ "$(echo $(stg series --applied --noprefix))" = "p1" ] &&
28     [ "$(echo $(stg series --unapplied --noprefix))" = "p2" ] &&
29     conflict stg goto --keep p2 &&
30     [ "$(echo $(stg series --applied --noprefix))" = "p1" ] &&
31     [ "$(echo $(stg series --unapplied --noprefix))" = "p2" ] &&
32     [ "$(echo $(cat a))" = "4" ]
33 '
34
35 test_done