Release 0.19
[stgit.git] / t / t3000-dirty-merge.sh
blobd8c16fabd54982967d5876941548c670b1e25638
1 #!/bin/sh
3 test_description='Try a push that requires merging a file that is dirty'
5 . ./test-lib.sh
7 test_expect_success 'Initialize StGit stack with two patches' '
8 stg init &&
9 touch a &&
10 stg 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
19 test_expect_success 'Pop one patch and update the other' '
20 stg goto p1 &&
21 echo 3 > a &&
22 stg refresh
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" ]
35 test_done