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