##// END OF EJS Templates
tests: unify test-rename
Nicolas Dumazet -
r12098:12108d7f default
parent child Browse files
Show More
This diff has been collapsed as it changes many lines, (777 lines changed) Show them Hide them
@@ -1,260 +1,599 b''
1 #!/bin/sh
1 $ hg init
2 $ mkdir d1 d1/d11 d2
3 $ echo d1/a > d1/a
4 $ echo d1/ba > d1/ba
5 $ echo d1/a1 > d1/d11/a1
6 $ echo d1/b > d1/b
7 $ echo d2/b > d2/b
8 $ hg add d1/a d1/b d1/ba d1/d11/a1 d2/b
9 $ hg commit -m "1" -d "1000000 0"
10
11 rename a single file
2
12
3 hg init
13 $ hg rename d1/d11/a1 d2/c
4 mkdir d1 d1/d11 d2
14 $ hg sum
5 echo d1/a > d1/a
15 parent: 0:6f9914c7a010 tip
6 echo d1/ba > d1/ba
16 1
7 echo d1/a1 > d1/d11/a1
17 branch: default
8 echo d1/b > d1/b
18 commit: 1 renamed
9 echo d2/b > d2/b
19 update: (current)
10 hg add d1/a d1/b d1/ba d1/d11/a1 d2/b
20 $ hg status -C
11 hg commit -m "1" -d "1000000 0"
21 A d2/c
22 d1/d11/a1
23 R d1/d11/a1
24 $ hg update -C
25 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
26 $ rm d2/c
27
28 rename --after a single file
12
29
13 echo "# rename a single file"
30 $ mv d1/d11/a1 d2/c
14 hg rename d1/d11/a1 d2/c
31 $ hg rename --after d1/d11/a1 d2/c
15 hg sum
32 $ hg status -C
16 hg status -C
33 A d2/c
17 hg update -C
34 d1/d11/a1
18 rm d2/c
35 R d1/d11/a1
36 $ hg update -C
37 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
38 $ rm d2/c
39
40 rename --after a single file when src and tgt already tracked
19
41
20 echo "# rename --after a single file"
42 $ mv d1/d11/a1 d2/c
21 mv d1/d11/a1 d2/c
43 $ hg addrem -s 0
22 hg rename --after d1/d11/a1 d2/c
44 removing d1/d11/a1
23 hg status -C
45 adding d2/c
24 hg update -C
46 $ hg rename --after d1/d11/a1 d2/c
25 rm d2/c
47 $ hg status -C
48 A d2/c
49 d1/d11/a1
50 R d1/d11/a1
51 $ hg update -C
52 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
53 $ rm d2/c
54
55 rename --after a single file to a nonexistant target filename
56
57 $ hg rename --after d1/a dummy
58 d1/a: not recording move - dummy does not exist
59
60 move a single file to an existing directory
26
61
27 echo '# rename --after a single file when src and tgt already tracked'
62 $ hg rename d1/d11/a1 d2
28 mv d1/d11/a1 d2/c
63 $ hg status -C
29 hg addrem -s 0
64 A d2/a1
30 hg rename --after d1/d11/a1 d2/c
65 d1/d11/a1
31 hg status -C
66 R d1/d11/a1
32 hg update -C
67 $ hg update -C
33 rm d2/c
68 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
69 $ rm d2/a1
70
71 move --after a single file to an existing directory
34
72
35 echo "# rename --after a single file to a nonexistant target filename"
73 $ mv d1/d11/a1 d2
36 hg rename --after d1/a dummy
74 $ hg rename --after d1/d11/a1 d2
75 $ hg status -C
76 A d2/a1
77 d1/d11/a1
78 R d1/d11/a1
79 $ hg update -C
80 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
81 $ rm d2/a1
37
82
38 echo "# move a single file to an existing directory"
83 rename a file using a relative path
39 hg rename d1/d11/a1 d2
84
40 hg status -C
85 $ (cd d1/d11; hg rename ../../d2/b e)
41 hg update -C
86 $ hg status -C
42 rm d2/a1
87 A d1/d11/e
88 d2/b
89 R d2/b
90 $ hg update -C
91 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
92 $ rm d1/d11/e
93
94 rename --after a file using a relative path
43
95
44 echo "# move --after a single file to an existing directory"
96 $ (cd d1/d11; mv ../../d2/b e; hg rename --after ../../d2/b e)
45 mv d1/d11/a1 d2
97 $ hg status -C
46 hg rename --after d1/d11/a1 d2
98 A d1/d11/e
47 hg status -C
99 d2/b
48 hg update -C
100 R d2/b
49 rm d2/a1
101 $ hg update -C
102 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
103 $ rm d1/d11/e
104
105 rename directory d1 as d3
50
106
51 echo "# rename a file using a relative path"
107 $ hg rename d1/ d3
52 (cd d1/d11; hg rename ../../d2/b e)
108 moving d1/a to d3/a
53 hg status -C
109 moving d1/b to d3/b
54 hg update -C
110 moving d1/ba to d3/ba
55 rm d1/d11/e
111 moving d1/d11/a1 to d3/d11/a1
112 $ hg status -C
113 A d3/a
114 d1/a
115 A d3/b
116 d1/b
117 A d3/ba
118 d1/ba
119 A d3/d11/a1
120 d1/d11/a1
121 R d1/a
122 R d1/b
123 R d1/ba
124 R d1/d11/a1
125 $ hg update -C
126 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
127 $ rm -rf d3
56
128
57 echo "# rename --after a file using a relative path"
129 rename --after directory d1 as d3
58 (cd d1/d11; mv ../../d2/b e; hg rename --after ../../d2/b e)
59 hg status -C
60 hg update -C
61 rm d1/d11/e
62
130
63 echo "# rename directory d1 as d3"
131 $ mv d1 d3
64 hg rename d1/ d3
132 $ hg rename --after d1 d3
65 hg status -C
133 moving d1/a to d3/a
66 hg update -C
134 moving d1/b to d3/b
67 rm -rf d3
135 moving d1/ba to d3/ba
136 moving d1/d11/a1 to d3/d11/a1
137 $ hg status -C
138 A d3/a
139 d1/a
140 A d3/b
141 d1/b
142 A d3/ba
143 d1/ba
144 A d3/d11/a1
145 d1/d11/a1
146 R d1/a
147 R d1/b
148 R d1/ba
149 R d1/d11/a1
150 $ hg update -C
151 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
152 $ rm -rf d3
68
153
69 echo "# rename --after directory d1 as d3"
154 move a directory using a relative path
70 mv d1 d3
71 hg rename --after d1 d3
72 hg status -C
73 hg update -C
74 rm -rf d3
75
155
76 echo "# move a directory using a relative path"
156 $ (cd d2; mkdir d3; hg rename ../d1/d11 d3)
77 (cd d2; mkdir d3; hg rename ../d1/d11 d3)
157 moving ../d1/d11/a1 to d3/d11/a1
78 hg status -C
158 $ hg status -C
79 hg update -C
159 A d2/d3/d11/a1
80 rm -rf d2/d3
160 d1/d11/a1
161 R d1/d11/a1
162 $ hg update -C
163 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
164 $ rm -rf d2/d3
165
166 move --after a directory using a relative path
81
167
82 echo "# move --after a directory using a relative path"
168 $ (cd d2; mkdir d3; mv ../d1/d11 d3; hg rename --after ../d1/d11 d3)
83 (cd d2; mkdir d3; mv ../d1/d11 d3; hg rename --after ../d1/d11 d3)
169 moving ../d1/d11/a1 to d3/d11/a1
84 hg status -C
170 $ hg status -C
85 hg update -C
171 A d2/d3/d11/a1
86 rm -rf d2/d3
172 d1/d11/a1
173 R d1/d11/a1
174 $ hg update -C
175 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
176 $ rm -rf d2/d3
177
178 move directory d1/d11 to an existing directory d2 (removes empty d1)
87
179
88 echo "# move directory d1/d11 to an existing directory d2 (removes empty d1)"
180 $ hg rename d1/d11/ d2
89 hg rename d1/d11/ d2
181 moving d1/d11/a1 to d2/d11/a1
90 hg status -C
182 $ hg status -C
91 hg update -C
183 A d2/d11/a1
92 rm -rf d2/d11
184 d1/d11/a1
185 R d1/d11/a1
186 $ hg update -C
187 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
188 $ rm -rf d2/d11
189
190 move directories d1 and d2 to a new directory d3
93
191
94 echo "# move directories d1 and d2 to a new directory d3"
192 $ mkdir d3
95 mkdir d3
193 $ hg rename d1 d2 d3
96 hg rename d1 d2 d3
194 moving d1/a to d3/d1/a
97 hg status -C
195 moving d1/b to d3/d1/b
98 hg update -C
196 moving d1/ba to d3/d1/ba
99 rm -rf d3
197 moving d1/d11/a1 to d3/d1/d11/a1
198 moving d2/b to d3/d2/b
199 $ hg status -C
200 A d3/d1/a
201 d1/a
202 A d3/d1/b
203 d1/b
204 A d3/d1/ba
205 d1/ba
206 A d3/d1/d11/a1
207 d1/d11/a1
208 A d3/d2/b
209 d2/b
210 R d1/a
211 R d1/b
212 R d1/ba
213 R d1/d11/a1
214 R d2/b
215 $ hg update -C
216 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
217 $ rm -rf d3
100
218
101 echo "# move --after directories d1 and d2 to a new directory d3"
219 move --after directories d1 and d2 to a new directory d3
102 mkdir d3
103 mv d1 d2 d3
104 hg rename --after d1 d2 d3
105 hg status -C
106 hg update -C
107 rm -rf d3
108
220
109 echo "# move everything under directory d1 to existing directory d2, do not"
221 $ mkdir d3
110 echo "# overwrite existing files (d2/b)"
222 $ mv d1 d2 d3
111 hg rename d1/* d2
223 $ hg rename --after d1 d2 d3
112 hg status -C
224 moving d1/a to d3/d1/a
113 diff d1/b d2/b
225 moving d1/b to d3/d1/b
114 hg update -C
226 moving d1/ba to d3/d1/ba
115 rm d2/a d2/ba d2/d11/a1
227 moving d1/d11/a1 to d3/d1/d11/a1
228 moving d2/b to d3/d2/b
229 $ hg status -C
230 A d3/d1/a
231 d1/a
232 A d3/d1/b
233 d1/b
234 A d3/d1/ba
235 d1/ba
236 A d3/d1/d11/a1
237 d1/d11/a1
238 A d3/d2/b
239 d2/b
240 R d1/a
241 R d1/b
242 R d1/ba
243 R d1/d11/a1
244 R d2/b
245 $ hg update -C
246 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
247 $ rm -rf d3
248
249 move everything under directory d1 to existing directory d2, do not
250 overwrite existing files (d2/b)
116
251
117 echo "# attempt to move one file into a non-existent directory"
252 $ hg rename d1/* d2
118 hg rename d1/a dx/
253 d2/b: not overwriting - file exists
119 hg status -C
254 moving d1/d11/a1 to d2/d11/a1
120 hg update -C
255 $ hg status -C
256 A d2/a
257 d1/a
258 A d2/ba
259 d1/ba
260 A d2/d11/a1
261 d1/d11/a1
262 R d1/a
263 R d1/ba
264 R d1/d11/a1
265 $ diff -u d1/b d2/b
266 --- d1/b .*
267 \+\+\+ d2/b .*
268 @@ -1 +1 @@
269 -d1/b
270 +d2/b
271 $ hg update -C
272 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
273 $ rm d2/a d2/ba d2/d11/a1
121
274
122 echo "# attempt to move potentially more than one file into a non-existent"
275 attempt to move one file into a non-existent directory
123 echo "# directory"
276
124 hg rename 'glob:d1/**' dx
277 $ hg rename d1/a dx/
278 abort: destination dx/ is not a directory
279 $ hg status -C
280 $ hg update -C
281 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
282
283 attempt to move potentially more than one file into a non-existent directory
284
285 $ hg rename 'glob:d1/**' dx
286 abort: with multiple sources, destination must be an existing directory
287
288 move every file under d1 to d2/d21 (glob)
125
289
126 echo "# move every file under d1 to d2/d21 (glob)"
290 $ mkdir d2/d21
127 mkdir d2/d21
291 $ hg rename 'glob:d1/**' d2/d21
128 hg rename 'glob:d1/**' d2/d21
292 moving d1/a to d2/d21/a
129 hg status -C
293 moving d1/b to d2/d21/b
130 hg update -C
294 moving d1/ba to d2/d21/ba
131 rm -rf d2/d21
295 moving d1/d11/a1 to d2/d21/a1
296 $ hg status -C
297 A d2/d21/a
298 d1/a
299 A d2/d21/a1
300 d1/d11/a1
301 A d2/d21/b
302 d1/b
303 A d2/d21/ba
304 d1/ba
305 R d1/a
306 R d1/b
307 R d1/ba
308 R d1/d11/a1
309 $ hg update -C
310 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
311 $ rm -rf d2/d21
312
313 move --after some files under d1 to d2/d21 (glob)
132
314
133 echo "# move --after some files under d1 to d2/d21 (glob)"
315 $ mkdir d2/d21
134 mkdir d2/d21
316 $ mv d1/a d1/d11/a1 d2/d21
135 mv d1/a d1/d11/a1 d2/d21
317 $ hg rename --after 'glob:d1/**' d2/d21
136 hg rename --after 'glob:d1/**' d2/d21
318 moving d1/a to d2/d21/a
137 hg status -C
319 d1/b: not recording move - d2/d21/b does not exist
138 hg update -C
320 d1/ba: not recording move - d2/d21/ba does not exist
139 rm -rf d2/d21
321 moving d1/d11/a1 to d2/d21/a1
322 $ hg status -C
323 A d2/d21/a
324 d1/a
325 A d2/d21/a1
326 d1/d11/a1
327 R d1/a
328 R d1/d11/a1
329 $ hg update -C
330 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
331 $ rm -rf d2/d21
332
333 move every file under d1 starting with an 'a' to d2/d21 (regexp)
140
334
141 echo "# move every file under d1 starting with an 'a' to d2/d21 (regexp)"
335 $ mkdir d2/d21
142 mkdir d2/d21
336 $ hg rename 're:d1/([^a][^/]*/)*a.*' d2/d21
143 hg rename 're:d1/([^a][^/]*/)*a.*' d2/d21
337 moving d1/a to d2/d21/a
144 hg status -C
338 moving d1/d11/a1 to d2/d21/a1
145 hg update -C
339 $ hg status -C
146 rm -rf d2/d21
340 A d2/d21/a
341 d1/a
342 A d2/d21/a1
343 d1/d11/a1
344 R d1/a
345 R d1/d11/a1
346 $ hg update -C
347 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
348 $ rm -rf d2/d21
147
349
148 echo "# attempt to overwrite an existing file"
350 attempt to overwrite an existing file
149 echo "ca" > d1/ca
351
150 hg rename d1/ba d1/ca
352 $ echo "ca" > d1/ca
151 hg status -C
353 $ hg rename d1/ba d1/ca
152 hg update -C
354 d1/ca: not overwriting - file exists
355 $ hg status -C
356 ? d1/ca
357 $ hg update -C
358 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
359
360 forced overwrite of an existing file
153
361
154 echo "# forced overwrite of an existing file"
362 $ echo "ca" > d1/ca
155 echo "ca" > d1/ca
363 $ hg rename --force d1/ba d1/ca
156 hg rename --force d1/ba d1/ca
364 $ hg status -C
157 hg status -C
365 A d1/ca
158 hg update -C
366 d1/ba
159 rm d1/ca
367 R d1/ba
368 $ hg update -C
369 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
370 $ rm d1/ca
371
372 replace a symlink with a file
160
373
161 echo "# replace a symlink with a file"
374 $ ln -s ba d1/ca
162 ln -s ba d1/ca
375 $ hg rename --force d1/ba d1/ca
163 hg rename --force d1/ba d1/ca
376 $ hg status -C
164 hg status -C
377 A d1/ca
165 hg update -C
378 d1/ba
166 rm d1/ca
379 R d1/ba
380 $ hg update -C
381 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
382 $ rm d1/ca
383
384 do not copy more than one source file to the same destination file
167
385
168 echo "# do not copy more than one source file to the same destination file"
386 $ mkdir d3
169 mkdir d3
387 $ hg rename d1/* d2/* d3
170 hg rename d1/* d2/* d3
388 moving d1/d11/a1 to d3/d11/a1
171 hg status -C
389 d3/b: not overwriting - d2/b collides with d1/b
172 hg update -C
390 $ hg status -C
173 rm -rf d3
391 A d3/a
392 d1/a
393 A d3/b
394 d1/b
395 A d3/ba
396 d1/ba
397 A d3/d11/a1
398 d1/d11/a1
399 R d1/a
400 R d1/b
401 R d1/ba
402 R d1/d11/a1
403 $ hg update -C
404 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
405 $ rm -rf d3
406
407 move a whole subtree with \"hg rename .\"
174
408
175 echo "# move a whole subtree with \"hg rename .\""
409 $ mkdir d3
176 mkdir d3
410 $ (cd d1; hg rename . ../d3)
177 (cd d1; hg rename . ../d3)
411 moving a to ../d3/d1/a
178 hg status -C
412 moving b to ../d3/d1/b
179 hg update -C
413 moving ba to ../d3/d1/ba
180 rm -rf d3
414 moving d11/a1 to ../d3/d1/d11/a1
415 $ hg status -C
416 A d3/d1/a
417 d1/a
418 A d3/d1/b
419 d1/b
420 A d3/d1/ba
421 d1/ba
422 A d3/d1/d11/a1
423 d1/d11/a1
424 R d1/a
425 R d1/b
426 R d1/ba
427 R d1/d11/a1
428 $ hg update -C
429 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
430 $ rm -rf d3
181
431
182 echo "# move a whole subtree with \"hg rename --after .\""
432 move a whole subtree with \"hg rename --after .\"
183 mkdir d3
184 mv d1/* d3
185 (cd d1; hg rename --after . ../d3)
186 hg status -C
187 hg update -C
188 rm -rf d3
189
433
190 echo "# move the parent tree with \"hg rename ..\""
434 $ mkdir d3
191 (cd d1/d11; hg rename .. ../../d3)
435 $ mv d1/* d3
192 hg status -C
436 $ (cd d1; hg rename --after . ../d3)
193 hg update -C
437 moving a to ../d3/a
194 rm -rf d3
438 moving b to ../d3/b
439 moving ba to ../d3/ba
440 moving d11/a1 to ../d3/d11/a1
441 $ hg status -C
442 A d3/a
443 d1/a
444 A d3/b
445 d1/b
446 A d3/ba
447 d1/ba
448 A d3/d11/a1
449 d1/d11/a1
450 R d1/a
451 R d1/b
452 R d1/ba
453 R d1/d11/a1
454 $ hg update -C
455 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
456 $ rm -rf d3
195
457
196 echo "# skip removed files"
458 move the parent tree with \"hg rename ..\"
197 hg remove d1/b
198 hg rename d1 d3
199 hg status -C
200 hg update -C
201 rm -rf d3
202
459
203 echo "# transitive rename"
460 $ (cd d1/d11; hg rename .. ../../d3)
204 hg rename d1/b d1/bb
461 moving ../a to ../../d3/a
205 hg rename d1/bb d1/bc
462 moving ../b to ../../d3/b
206 hg status -C
463 moving ../ba to ../../d3/ba
207 hg update -C
464 moving a1 to ../../d3/d11/a1
208 rm d1/bc
465 $ hg status -C
466 A d3/a
467 d1/a
468 A d3/b
469 d1/b
470 A d3/ba
471 d1/ba
472 A d3/d11/a1
473 d1/d11/a1
474 R d1/a
475 R d1/b
476 R d1/ba
477 R d1/d11/a1
478 $ hg update -C
479 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
480 $ rm -rf d3
481
482 skip removed files
209
483
210 echo "# transitive rename --after"
484 $ hg remove d1/b
211 hg rename d1/b d1/bb
485 $ hg rename d1 d3
212 mv d1/bb d1/bc
486 moving d1/a to d3/a
213 hg rename --after d1/bb d1/bc
487 moving d1/ba to d3/ba
214 hg status -C
488 moving d1/d11/a1 to d3/d11/a1
215 hg update -C
489 $ hg status -C
216 rm d1/bc
490 A d3/a
491 d1/a
492 A d3/ba
493 d1/ba
494 A d3/d11/a1
495 d1/d11/a1
496 R d1/a
497 R d1/b
498 R d1/ba
499 R d1/d11/a1
500 $ hg update -C
501 4 files updated, 0 files merged, 0 files removed, 0 files unresolved
502 $ rm -rf d3
217
503
218 echo "# idempotent renames (d1/b -> d1/bb followed by d1/bb -> d1/b)"
504 transitive rename
219 hg rename d1/b d1/bb
505
220 echo "some stuff added to d1/bb" >> d1/bb
506 $ hg rename d1/b d1/bb
221 hg rename d1/bb d1/b
507 $ hg rename d1/bb d1/bc
222 hg status -C
508 $ hg status -C
223 hg update -C
509 A d1/bc
510 d1/b
511 R d1/b
512 $ hg update -C
513 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
514 $ rm d1/bc
224
515
225 echo '# overwriting with renames (issue1959)'
516 transitive rename --after
226 hg rename d1/a d1/c
227 hg rename d1/b d1/a
228 hg status -C
229 hg diff --git
230 hg update -C
231
517
232 echo "# check illegal path components"
518 $ hg rename d1/b d1/bb
519 $ mv d1/bb d1/bc
520 $ hg rename --after d1/bb d1/bc
521 $ hg status -C
522 A d1/bc
523 d1/b
524 R d1/b
525 $ hg update -C
526 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
527 $ rm d1/bc
233
528
234 hg rename d1/d11/a1 .hg/foo
529 $ echo "# idempotent renames (d1/b -> d1/bb followed by d1/bb -> d1/b)"
235 hg status -C
530 # idempotent renames (d1/b -> d1/bb followed by d1/bb -> d1/b)
236 hg rename d1/d11/a1 ../foo
531 $ hg rename d1/b d1/bb
237 hg status -C
532 $ echo "some stuff added to d1/bb" >> d1/bb
533 $ hg rename d1/bb d1/b
534 $ hg status -C
535 M d1/b
536 $ hg update -C
537 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
538
539 overwriting with renames (issue1959)
238
540
239 mv d1/d11/a1 .hg/foo
541 $ hg rename d1/a d1/c
240 hg rename --after d1/d11/a1 .hg/foo
542 $ hg rename d1/b d1/a
241 hg status -C
543 $ hg status -C
242 hg update -C
544 A d1/a
243 rm .hg/foo
545 d1/b
546 A d1/c
547 d1/a
548 R d1/b
549 $ hg diff --git
550 diff --git a/d1/b b/d1/a
551 rename from d1/b
552 rename to d1/a
553 diff --git a/d1/a b/d1/c
554 copy from d1/a
555 copy to d1/c
556 $ hg update -C
557 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
244
558
245 hg rename d1/d11/a1 .hg
559 check illegal path components
246 hg status -C
560
247 hg rename d1/d11/a1 ..
561 $ hg rename d1/d11/a1 .hg/foo
248 hg status -C
562 abort: path contains illegal component: .hg/foo
563 $ hg status -C
564 $ hg rename d1/d11/a1 ../foo
565 abort: ../foo not under root
566 $ hg status -C
249
567
250 mv d1/d11/a1 .hg
568 $ mv d1/d11/a1 .hg/foo
251 hg rename --after d1/d11/a1 .hg
569 $ hg rename --after d1/d11/a1 .hg/foo
252 hg status -C
570 abort: path contains illegal component: .hg/foo
253 hg update -C
571 $ hg status -C
254 rm .hg/a1
572 ! d1/d11/a1
573 $ hg update -C
574 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
575 $ rm .hg/foo
576
577 $ hg rename d1/d11/a1 .hg
578 abort: path contains illegal component: .hg/a1
579 $ hg status -C
580 $ hg rename d1/d11/a1 ..
581 abort: ../a1 not under root
582 $ hg status -C
255
583
256 (cd d1/d11; hg rename ../../d2/b ../../.hg/foo)
584 $ mv d1/d11/a1 .hg
257 hg status -C
585 $ hg rename --after d1/d11/a1 .hg
258 (cd d1/d11; hg rename ../../d2/b ../../../foo)
586 abort: path contains illegal component: .hg/a1
259 hg status -C
587 $ hg status -C
588 ! d1/d11/a1
589 $ hg update -C
590 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
591 $ rm .hg/a1
260
592
593 $ (cd d1/d11; hg rename ../../d2/b ../../.hg/foo)
594 abort: path contains illegal component: .hg/foo
595 $ hg status -C
596 $ (cd d1/d11; hg rename ../../d2/b ../../../foo)
597 abort: ../../../foo not under root
598 $ hg status -C
599
1 NO CONTENT: file was removed
NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now