|
1 Test for |
|
2 b5605d88dc27: Make ui.prompt repeat on "unrecognized response" again |
|
3 (issue897) |
|
4 |
|
5 840e2b315c1f: Fix misleading error and prompts during update/merge |
|
6 (issue556) |
|
7 |
|
8 Make sure HGMERGE doesn't interfere with the test |
|
9 $ unset HGMERGE |
|
10 |
|
11 $ status() { |
|
12 > echo "--- status ---" |
|
13 > hg st -A file1 file2 |
|
14 > for file in file1 file2; do |
|
15 > if [ -f $file ]; then |
|
16 > echo "--- $file ---" |
|
17 > cat $file |
|
18 > else |
|
19 > echo "*** $file does not exist" |
|
20 > fi |
|
21 > done |
|
22 > } |
|
23 |
|
24 $ hg init |
|
25 |
|
26 $ echo 1 > file1 |
|
27 $ echo 2 > file2 |
|
28 $ hg ci -Am 'added file1 and file2' |
|
29 adding file1 |
|
30 adding file2 |
|
31 |
|
32 $ hg rm file1 |
|
33 $ echo changed >> file2 |
|
34 $ hg ci -m 'removed file1, changed file2' |
|
35 |
|
36 $ hg co 0 |
|
37 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
38 |
|
39 $ echo changed >> file1 |
|
40 $ hg rm file2 |
|
41 $ hg ci -m 'changed file1, removed file2' |
|
42 created new head |
|
43 |
|
44 |
|
45 Non-interactive merge: |
|
46 |
|
47 $ hg merge -y |
|
48 local changed file1 which remote deleted |
|
49 use (c)hanged version or (d)elete? c |
|
50 remote changed file2 which local deleted |
|
51 use (c)hanged version or leave (d)eleted? c |
|
52 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
53 (branch merge, don't forget to commit) |
|
54 |
|
55 $ status |
|
56 --- status --- |
|
57 M file2 |
|
58 C file1 |
|
59 --- file1 --- |
|
60 1 |
|
61 changed |
|
62 --- file2 --- |
|
63 2 |
|
64 changed |
|
65 |
|
66 |
|
67 Interactive merge: |
|
68 |
|
69 $ hg co -C |
|
70 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
71 |
|
72 $ hg merge --config ui.interactive=true <<EOF |
|
73 > c |
|
74 > d |
|
75 > EOF |
|
76 local changed file1 which remote deleted |
|
77 use (c)hanged version or (d)elete? c |
|
78 remote changed file2 which local deleted |
|
79 use (c)hanged version or leave (d)eleted? d |
|
80 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
81 (branch merge, don't forget to commit) |
|
82 |
|
83 $ status |
|
84 --- status --- |
|
85 file2: * (glob) |
|
86 C file1 |
|
87 --- file1 --- |
|
88 1 |
|
89 changed |
|
90 *** file2 does not exist |
|
91 |
|
92 |
|
93 Interactive merge with bad input: |
|
94 |
|
95 $ hg co -C |
|
96 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
97 |
|
98 $ hg merge --config ui.interactive=true <<EOF |
|
99 > foo |
|
100 > bar |
|
101 > d |
|
102 > baz |
|
103 > c |
|
104 > EOF |
|
105 local changed file1 which remote deleted |
|
106 use (c)hanged version or (d)elete? foo |
|
107 unrecognized response |
|
108 local changed file1 which remote deleted |
|
109 use (c)hanged version or (d)elete? bar |
|
110 unrecognized response |
|
111 local changed file1 which remote deleted |
|
112 use (c)hanged version or (d)elete? d |
|
113 remote changed file2 which local deleted |
|
114 use (c)hanged version or leave (d)eleted? baz |
|
115 unrecognized response |
|
116 remote changed file2 which local deleted |
|
117 use (c)hanged version or leave (d)eleted? c |
|
118 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
119 (branch merge, don't forget to commit) |
|
120 |
|
121 $ status |
|
122 --- status --- |
|
123 M file2 |
|
124 R file1 |
|
125 *** file1 does not exist |
|
126 --- file2 --- |
|
127 2 |
|
128 changed |
|
129 |
|
130 |
|
131 Interactive merge with not enough input: |
|
132 |
|
133 $ hg co -C |
|
134 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
135 |
|
136 $ hg merge --config ui.interactive=true <<EOF |
|
137 > d |
|
138 > EOF |
|
139 local changed file1 which remote deleted |
|
140 use (c)hanged version or (d)elete? d |
|
141 remote changed file2 which local deleted |
|
142 use (c)hanged version or leave (d)eleted? abort: response expected |
|
143 [255] |
|
144 |
|
145 $ status |
|
146 --- status --- |
|
147 file2: * (glob) |
|
148 C file1 |
|
149 --- file1 --- |
|
150 1 |
|
151 changed |
|
152 *** file2 does not exist |
|
153 |
|
154 Non-interactive linear update |
|
155 |
|
156 $ hg co -C 0 |
|
157 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
158 $ echo changed >> file1 |
|
159 $ hg rm file2 |
|
160 $ hg update 1 -y |
|
161 local changed file1 which remote deleted |
|
162 use (c)hanged version or (d)elete? c |
|
163 remote changed file2 which local deleted |
|
164 use (c)hanged version or leave (d)eleted? c |
|
165 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
166 $ status |
|
167 --- status --- |
|
168 A file1 |
|
169 C file2 |
|
170 --- file1 --- |
|
171 1 |
|
172 changed |
|
173 --- file2 --- |
|
174 2 |
|
175 changed |