Handle failed pushes differently depending on cause
[stgit] / t / t3000-dirty-merge.sh
CommitLineData
92330914
KH
1#!/bin/sh
2
3test_description='Try a push that requires merging a file that is dirty'
4
5. ./test-lib.sh
6
7test_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
19test_expect_success 'Pop one patch and update the other' '
20 stg goto p1 &&
21 echo 3 > a &&
22 stg refresh
23'
24
363d432f 25test_expect_success 'Push with dirty worktree' '
92330914
KH
26 echo 4 > a &&
27 [ "$(echo $(stg applied))" = "p1" ] &&
28 [ "$(echo $(stg unapplied))" = "p2" ] &&
29 ! stg goto p2 &&
30 [ "$(echo $(stg applied))" = "p1" ] &&
31 [ "$(echo $(stg unapplied))" = "p2" ] &&
32 [ "$(echo $(cat a))" = "4" ]
33'
34
35test_done