##// END OF EJS Templates
test-revert-interactive: don't escape the $ for $TESTTMP...
Matt Harbison -
r25298:3f6b54ef default
parent child Browse files
Show More
@@ -1,322 +1,322 b''
1 1 Revert interactive tests
2 2 1 add and commit file f
3 3 2 add commit file folder1/g
4 4 3 add and commit file folder2/h
5 5 4 add and commit file folder1/i
6 6 5 commit change to file f
7 7 6 commit changes to files folder1/g folder2/h
8 8 7 commit changes to files folder1/g folder2/h
9 9 8 revert interactive to commit id 2 (line 3 above), check that folder1/i is removed and
10 10 9 make workdir match 7
11 11 10 run the same test than 8 from within folder1 and check same expectations
12 12
13 13 $ cat <<EOF >> $HGRCPATH
14 14 > [ui]
15 15 > interactive = true
16 16 > [extensions]
17 17 > record =
18 18 > EOF
19 19
20 20
21 21 $ mkdir -p a/folder1 a/folder2
22 22 $ cd a
23 23 $ hg init
24 24 >>> open('f', 'wb').write("1\n2\n3\n4\n5\n")
25 25 $ hg add f ; hg commit -m "adding f"
26 26 $ cat f > folder1/g ; hg add folder1/g ; hg commit -m "adding folder1/g"
27 27 $ cat f > folder2/h ; hg add folder2/h ; hg commit -m "adding folder2/h"
28 28 $ cat f > folder1/i ; hg add folder1/i ; hg commit -m "adding folder1/i"
29 29 >>> open('f', 'wb').write("a\n1\n2\n3\n4\n5\nb\n")
30 30 $ hg commit -m "modifying f"
31 31 >>> open('folder1/g', 'wb').write("c\n1\n2\n3\n4\n5\nd\n")
32 32 $ hg commit -m "modifying folder1/g"
33 33 >>> open('folder2/h', 'wb').write("e\n1\n2\n3\n4\n5\nf\n")
34 34 $ hg commit -m "modifying folder2/h"
35 35 $ hg tip
36 36 changeset: 6:59dd6e4ab63a
37 37 tag: tip
38 38 user: test
39 39 date: Thu Jan 01 00:00:00 1970 +0000
40 40 summary: modifying folder2/h
41 41
42 42 $ hg revert -i -r 2 --all -- << EOF
43 43 > y
44 44 > y
45 45 > y
46 46 > y
47 47 > y
48 48 > n
49 49 > n
50 50 > EOF
51 51 reverting f
52 52 reverting folder1/g (glob)
53 53 removing folder1/i (glob)
54 54 reverting folder2/h (glob)
55 55 diff --git a/f b/f
56 56 2 hunks, 2 lines changed
57 57 examine changes to 'f'? [Ynesfdaq?] y
58 58
59 59 @@ -1,6 +1,5 @@
60 60 -a
61 61 1
62 62 2
63 63 3
64 64 4
65 65 5
66 66 record change 1/6 to 'f'? [Ynesfdaq?] y
67 67
68 68 @@ -2,6 +1,5 @@
69 69 1
70 70 2
71 71 3
72 72 4
73 73 5
74 74 -b
75 75 record change 2/6 to 'f'? [Ynesfdaq?] y
76 76
77 77 diff --git a/folder1/g b/folder1/g
78 78 2 hunks, 2 lines changed
79 79 examine changes to 'folder1/g'? [Ynesfdaq?] y
80 80
81 81 @@ -1,6 +1,5 @@
82 82 -c
83 83 1
84 84 2
85 85 3
86 86 4
87 87 5
88 88 record change 3/6 to 'folder1/g'? [Ynesfdaq?] y
89 89
90 90 @@ -2,6 +1,5 @@
91 91 1
92 92 2
93 93 3
94 94 4
95 95 5
96 96 -d
97 97 record change 4/6 to 'folder1/g'? [Ynesfdaq?] n
98 98
99 99 diff --git a/folder2/h b/folder2/h
100 100 2 hunks, 2 lines changed
101 101 examine changes to 'folder2/h'? [Ynesfdaq?] n
102 102
103 103 $ cat f
104 104 1
105 105 2
106 106 3
107 107 4
108 108 5
109 109 $ cat folder1/g
110 110 1
111 111 2
112 112 3
113 113 4
114 114 5
115 115 d
116 116 $ cat folder2/h
117 117 e
118 118 1
119 119 2
120 120 3
121 121 4
122 122 5
123 123 f
124 124
125 125 Test that --interactive lift the need for --all
126 126
127 127 $ echo q | hg revert -i -r 2
128 128 reverting folder1/g (glob)
129 129 reverting folder2/h (glob)
130 130 diff --git a/folder1/g b/folder1/g
131 131 1 hunks, 1 lines changed
132 132 examine changes to 'folder1/g'? [Ynesfdaq?] q
133 133
134 134 abort: user quit
135 135 [255]
136 136 $ rm folder1/g.orig
137 137
138 138
139 139 $ hg update -C 6
140 140 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
141 141 $ hg revert -i -r 2 --all -- << EOF
142 142 > y
143 143 > y
144 144 > y
145 145 > y
146 146 > y
147 147 > n
148 148 > n
149 149 > EOF
150 150 reverting f
151 151 reverting folder1/g (glob)
152 152 removing folder1/i (glob)
153 153 reverting folder2/h (glob)
154 154 diff --git a/f b/f
155 155 2 hunks, 2 lines changed
156 156 examine changes to 'f'? [Ynesfdaq?] y
157 157
158 158 @@ -1,6 +1,5 @@
159 159 -a
160 160 1
161 161 2
162 162 3
163 163 4
164 164 5
165 165 record change 1/6 to 'f'? [Ynesfdaq?] y
166 166
167 167 @@ -2,6 +1,5 @@
168 168 1
169 169 2
170 170 3
171 171 4
172 172 5
173 173 -b
174 174 record change 2/6 to 'f'? [Ynesfdaq?] y
175 175
176 176 diff --git a/folder1/g b/folder1/g
177 177 2 hunks, 2 lines changed
178 178 examine changes to 'folder1/g'? [Ynesfdaq?] y
179 179
180 180 @@ -1,6 +1,5 @@
181 181 -c
182 182 1
183 183 2
184 184 3
185 185 4
186 186 5
187 187 record change 3/6 to 'folder1/g'? [Ynesfdaq?] y
188 188
189 189 @@ -2,6 +1,5 @@
190 190 1
191 191 2
192 192 3
193 193 4
194 194 5
195 195 -d
196 196 record change 4/6 to 'folder1/g'? [Ynesfdaq?] n
197 197
198 198 diff --git a/folder2/h b/folder2/h
199 199 2 hunks, 2 lines changed
200 200 examine changes to 'folder2/h'? [Ynesfdaq?] n
201 201
202 202 $ cat f
203 203 1
204 204 2
205 205 3
206 206 4
207 207 5
208 208 $ cat folder1/g
209 209 1
210 210 2
211 211 3
212 212 4
213 213 5
214 214 d
215 215 $ cat folder2/h
216 216 e
217 217 1
218 218 2
219 219 3
220 220 4
221 221 5
222 222 f
223 223 $ hg st
224 224 M f
225 225 M folder1/g
226 226 R folder1/i
227 227 $ hg revert --interactive f << EOF
228 228 > y
229 229 > y
230 230 > n
231 231 > n
232 232 > EOF
233 233 diff --git a/f b/f
234 234 2 hunks, 2 lines changed
235 235 examine changes to 'f'? [Ynesfdaq?] y
236 236
237 237 @@ -1,5 +1,6 @@
238 238 +a
239 239 1
240 240 2
241 241 3
242 242 4
243 243 5
244 244 record change 1/2 to 'f'? [Ynesfdaq?] y
245 245
246 246 @@ -1,5 +2,6 @@
247 247 1
248 248 2
249 249 3
250 250 4
251 251 5
252 252 +b
253 253 record change 2/2 to 'f'? [Ynesfdaq?] n
254 254
255 255 $ hg st
256 256 M f
257 257 M folder1/g
258 258 R folder1/i
259 259 ? f.orig
260 260 $ cat f
261 261 a
262 262 1
263 263 2
264 264 3
265 265 4
266 266 5
267 267 $ cat f.orig
268 268 1
269 269 2
270 270 3
271 271 4
272 272 5
273 273 $ rm f.orig
274 274 $ hg update -C .
275 275 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
276 276
277 277 Check editing files newly added by a revert
278 278
279 279 1) Create a dummy editor changing 1 to 42
280 280 $ cat > $TESTTMP/editor.sh << '__EOF__'
281 281 > cat "$1" | sed "s/1/42/g" > tt
282 282 > mv tt "$1"
283 283 > __EOF__
284 284
285 285 2) Remove f
286 286 $ hg rm f
287 287 $ hg commit -m "remove f"
288 288
289 289 3) Do another commit on top
290 290 $ touch k; hg add k
291 291 $ hg commit -m "add k"
292 292 $ hg st
293 293
294 294 4) Use interactive revert to recover f and change it on the fly
295 $ HGEDITOR="\"sh\" \"\${TESTTMP}/editor.sh\"" PRINTHUNK="YES" hg revert -i -r ".^^" <<EOF
295 $ HGEDITOR="\"sh\" \"${TESTTMP}/editor.sh\"" PRINTHUNK="YES" hg revert -i -r ".^^" <<EOF
296 296 > y
297 297 > e
298 298 > EOF
299 299 adding f
300 300 removing k
301 301 diff --git a/f b/f
302 302 new file mode 100644
303 303 examine changes to 'f'? [Ynesfdaq?] y
304 304
305 305 @@ -0,0 +1,7 @@
306 306 +a
307 307 +1
308 308 +2
309 309 +3
310 310 +4
311 311 +5
312 312 +b
313 313 record this change to 'f'? [Ynesfdaq?] e
314 314
315 315 $ cat f
316 316 a
317 317 42
318 318 2
319 319 3
320 320 4
321 321 5
322 322 b
General Comments 0
You need to be logged in to leave comments. Login now