chiark / gitweb /
stgit.el: Add "d" for a few diff commands, similar to git.el
[stgit] / t / t2300-refresh-subdir.sh
CommitLineData
78384a2c
KH
1#!/bin/sh
2test_description='Test the refresh command from a subdirectory'
3. ./test-lib.sh
4stg init
5
6test_expect_success 'Refresh from a subdirectory' '
b7e3c8c0 7 stg new p0 -m p0 &&
78384a2c
KH
8 echo foo >> foo.txt &&
9 mkdir bar &&
10 echo bar >> bar/bar.txt &&
ea5b7bf3 11 git add foo.txt bar/bar.txt &&
78384a2c
KH
12 cd bar &&
13 stg refresh &&
14 cd .. &&
15 [ "$(stg status)" = "" ]
16'
17
2299c463 18test_expect_success 'Refresh again' '
78384a2c
KH
19 echo foo2 >> foo.txt &&
20 echo bar2 >> bar/bar.txt &&
21 cd bar &&
22 stg refresh &&
23 cd .. &&
24 [ "$(stg status)" = "" ]
25'
26
d4356ac6
CM
27test_expect_success 'Refresh file in subdirectory' '
28 echo foo3 >> foo.txt &&
29 echo bar3 >> bar/bar.txt &&
30 cd bar &&
31 stg refresh bar.txt &&
32 cd .. &&
33 [ "$(stg status)" = "M foo.txt" ]
34'
35
36test_expect_success 'Refresh whole subdirectory' '
37 echo bar4 >> bar/bar.txt &&
38 stg refresh bar &&
39 [ "$(stg status)" = "M foo.txt" ]
40'
41
42test_expect_success 'Refresh subdirectories recursively' '
43 echo bar5 >> bar/bar.txt &&
44 stg refresh . &&
45 [ "$(stg status)" = "" ]
46'
47
b7e3c8c0
KH
48test_expect_success 'refresh -u' '
49 echo baz >> bar/baz.txt &&
50 stg new p1 -m p1 &&
51 git add bar/baz.txt &&
52 stg refresh --index &&
53 echo xyzzy >> foo.txt &&
54 echo xyzzy >> bar/bar.txt &&
55 echo xyzzy >> bar/baz.txt &&
56 stg refresh -u &&
57 test "$(echo $(stg status))" = "M bar/bar.txt M foo.txt"
58'
59
60test_expect_success 'refresh -u -p <subdir>' '
61 echo xyzzy >> bar/baz.txt &&
62 stg refresh -p p0 -u bar &&
63 test "$(echo $(stg status))" = "M bar/baz.txt M foo.txt"
64'
65
66test_expect_success 'refresh an unapplied patch' '
67 stg refresh -u &&
ee11a289 68 stg goto --keep p0 &&
b7e3c8c0
KH
69 test "$(stg status)" = "M foo.txt" &&
70 stg refresh -p p1 &&
71 test "$(stg status)" = "" &&
72 test "$(echo $(stg files p1))" = "A bar/baz.txt M foo.txt"
73'
74
78384a2c 75test_done