35 Adding externals/other |
35 Adding externals/other |
36 Adding src |
36 Adding src |
37 Adding src/alpha |
37 Adding src/alpha |
38 Transmitting file data .. |
38 Transmitting file data .. |
39 Committed revision 1. |
39 Committed revision 1. |
40 $ svn up |
40 $ svn up -q |
41 At revision 1. |
|
42 $ echo "externals -r1 $SVNREPO/externals" > extdef |
41 $ echo "externals -r1 $SVNREPO/externals" > extdef |
43 $ svn propset -F extdef svn:externals src |
42 $ svn propset -F extdef svn:externals src |
44 property 'svn:externals' set on 'src' |
43 property 'svn:externals' set on 'src' |
45 $ svn ci -m 'Setting externals' |
44 $ svn ci -m 'Setting externals' |
46 Sending src |
45 Sending src |
103 parent: 1:* tip (glob) |
102 parent: 1:* tip (glob) |
104 1 |
103 1 |
105 branch: default |
104 branch: default |
106 commit: 1 modified, 1 subrepos |
105 commit: 1 modified, 1 subrepos |
107 update: (current) |
106 update: (current) |
108 $ hg commit --subrepos -m 'Message!' |
107 $ hg commit --subrepos -m 'Message!' | grep -v Updating |
109 committing subrepository s |
108 committing subrepository s |
110 Sending*s/alpha (glob) |
109 Sending*s/alpha (glob) |
111 Transmitting file data . |
110 Transmitting file data . |
112 Committed revision 3. |
111 Committed revision 3. |
113 |
112 |
114 Fetching external item into '$TESTTMP/sub/t/s/externals' |
113 Fetching external item into '*s/externals'* (glob) |
115 External at revision 1. |
114 External at revision 1. |
116 |
115 |
117 At revision 3. |
116 At revision 3. |
118 $ hg debugsub |
117 $ hg debugsub |
119 path s |
118 path s |
149 $ hg st |
143 $ hg st |
150 |
144 |
151 add a commit from svn |
145 add a commit from svn |
152 |
146 |
153 $ cd "$WCROOT"/src |
147 $ cd "$WCROOT"/src |
154 $ svn up |
148 $ svn up -q |
155 U alpha |
|
156 |
|
157 Fetching external item into 'externals' |
|
158 A externals/other |
|
159 Updated external to revision 1. |
|
160 |
|
161 Updated to revision 4. |
|
162 $ echo xyz >> alpha |
149 $ echo xyz >> alpha |
163 $ svn propset svn:mime-type 'text/xml' alpha |
150 $ svn propset svn:mime-type 'text/xml' alpha |
164 property 'svn:mime-type' set on 'alpha' |
151 property 'svn:mime-type' set on 'alpha' |
165 $ svn ci -m 'amend a from svn' |
152 $ svn ci -m 'amend a from svn' |
166 Sending src/alpha |
153 Sending *alpha (glob) |
167 Transmitting file data . |
154 Transmitting file data . |
168 Committed revision 5. |
155 Committed revision 5. |
169 $ cd ../../sub/t |
156 $ cd ../../sub/t |
170 |
157 |
171 this commit from hg will fail |
158 this commit from hg will fail |
172 |
159 |
173 $ echo zzz >> s/alpha |
160 $ echo zzz >> s/alpha |
174 $ hg ci --subrepos -m 'amend alpha from hg' |
161 $ (hg ci --subrepos -m 'amend alpha from hg' 2>&1; echo "[$?]") | grep -vi 'out of date' |
175 committing subrepository s |
162 committing subrepository s |
176 abort: svn: Commit failed (details follow): |
163 abort: svn:*Commit failed (details follow): (glob) |
177 svn: (Out of date)?.*/src/alpha.*(is out of date)? (re) |
|
178 [255] |
164 [255] |
179 $ svn revert -q s/alpha |
165 $ svn revert -q s/alpha |
180 |
166 |
181 this commit fails because of meta changes |
167 this commit fails because of meta changes |
182 |
168 |
183 $ svn propset svn:mime-type 'text/html' s/alpha |
169 $ svn propset svn:mime-type 'text/html' s/alpha |
184 property 'svn:mime-type' set on 's/alpha' |
170 property 'svn:mime-type' set on 's/alpha' |
185 $ hg ci --subrepos -m 'amend alpha from hg' |
171 $ (hg ci --subrepos -m 'amend alpha from hg' 2>&1; echo "[$?]") | grep -vi 'out of date' |
186 committing subrepository s |
172 committing subrepository s |
187 abort: svn: Commit failed (details follow): |
173 abort: svn:*Commit failed (details follow): (glob) |
188 svn: (Out of date)?.*/src/alpha.*(is out of date)? (re) |
|
189 [255] |
174 [255] |
190 $ svn revert -q s/alpha |
175 $ svn revert -q s/alpha |
191 |
176 |
192 this commit fails because of externals changes |
177 this commit fails because of externals changes |
193 |
178 |
226 $ hg clone t tc | fix_path |
211 $ hg clone t tc | fix_path |
227 updating to branch default |
212 updating to branch default |
228 A tc/s/alpha |
213 A tc/s/alpha |
229 U tc/s |
214 U tc/s |
230 |
215 |
231 Fetching external item into 'tc/s/externals' |
216 Fetching external item into 'tc/s/externals'* (glob) |
232 A tc/s/externals/other |
217 A tc/s/externals/other |
233 Checked out external at revision 1. |
218 Checked out external at revision 1. |
234 |
219 |
235 Checked out revision 3. |
220 Checked out revision 3. |
236 A tc/subdir/s/alpha |
221 A tc/subdir/s/alpha |
237 U tc/subdir/s |
222 U tc/subdir/s |
238 |
223 |
239 Fetching external item into 'tc/subdir/s/externals' |
224 Fetching external item into 'tc/subdir/s/externals'* (glob) |
240 A tc/subdir/s/externals/other |
225 A tc/subdir/s/externals/other |
241 Checked out external at revision 1. |
226 Checked out external at revision 1. |
242 |
227 |
243 Checked out revision 2. |
228 Checked out revision 2. |
244 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
229 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
270 $ cd s |
255 $ cd s |
271 $ echo c0 > alpha |
256 $ echo c0 > alpha |
272 $ echo c1 > f1 |
257 $ echo c1 > f1 |
273 $ echo c1 > f2 |
258 $ echo c1 > f2 |
274 $ svn add f1 -q |
259 $ svn add f1 -q |
275 $ svn status |
260 $ svn status | sort |
|
261 |
276 ? * a (glob) |
262 ? * a (glob) |
|
263 ? * f2 (glob) |
|
264 A * f1 (glob) |
|
265 M * alpha (glob) |
|
266 Performing status on external item at 'externals'* (glob) |
277 X * externals (glob) |
267 X * externals (glob) |
278 ? * f2 (glob) |
|
279 M * alpha (glob) |
|
280 A * f1 (glob) |
|
281 |
|
282 Performing status on external item at 'externals' |
|
283 $ cd ../.. |
268 $ cd ../.. |
284 $ hg -R t update -C |
269 $ hg -R t update -C |
285 |
270 |
286 Fetching external item into 't/s/externals' |
271 Fetching external item into 't/s/externals'* (glob) |
287 Checked out external at revision 1. |
272 Checked out external at revision 1. |
288 |
273 |
289 Checked out revision 3. |
274 Checked out revision 3. |
290 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
275 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
291 $ cd t/s |
276 $ cd t/s |
293 ? * a (glob) |
278 ? * a (glob) |
294 X * externals (glob) |
279 X * externals (glob) |
295 ? * f1 (glob) |
280 ? * f1 (glob) |
296 ? * f2 (glob) |
281 ? * f2 (glob) |
297 |
282 |
298 Performing status on external item at 'externals' |
283 Performing status on external item at 'externals'* (glob) |
299 |
284 |
300 Sticky subrepositories, no changes |
285 Sticky subrepositories, no changes |
301 $ cd $TESTTMP/sub/t |
286 $ cd $TESTTMP/sub/t |
302 $ hg id -n |
287 $ hg id -n |
303 2 |
288 2 |
304 $ cd s |
289 $ cd s |
305 $ svnversion |
290 $ svnversion |
306 3 |
291 3 |
307 $ cd .. |
292 $ cd .. |
308 $ hg update 1 |
293 $ hg update 1 |
309 U $TESTTMP/sub/t/s/alpha |
294 U *s/alpha (glob) |
310 |
295 |
311 Fetching external item into '$TESTTMP/sub/t/s/externals' |
296 Fetching external item into '*s/externals'* (glob) |
312 Checked out external at revision 1. |
297 Checked out external at revision 1. |
313 |
298 |
314 Checked out revision 2. |
299 Checked out revision 2. |
315 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
300 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
316 $ hg id -n |
301 $ hg id -n |
342 $ cd s |
327 $ cd s |
343 $ svnversion |
328 $ svnversion |
344 2M |
329 2M |
345 $ cd .. |
330 $ cd .. |
346 $ hg update --clean tip |
331 $ hg update --clean tip |
347 U $TESTTMP/sub/t/s/alpha |
332 U *s/alpha (glob) |
348 |
333 |
349 Fetching external item into '$TESTTMP/sub/t/s/externals' |
334 Fetching external item into '*s/externals'* (glob) |
350 Checked out external at revision 1. |
335 Checked out external at revision 1. |
351 |
336 |
352 Checked out revision 3. |
337 Checked out revision 3. |
353 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
338 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
354 |
339 |
402 $ svnversion |
380 $ svnversion |
403 1M |
381 1M |
404 $ cd .. |
382 $ cd .. |
405 |
383 |
406 Sticky repository, update --clean |
384 Sticky repository, update --clean |
407 $ hg update --clean tip |
385 $ hg update --clean tip | grep -v s/externals/other |
408 U $TESTTMP/sub/t/s/alpha |
386 U *s/alpha (glob) |
409 U $TESTTMP/sub/t/s |
387 U *s (glob) |
410 |
388 |
411 Fetching external item into '$TESTTMP/sub/t/s/externals' |
389 Fetching external item into '*s/externals'* (glob) |
412 Checked out external at revision 1. |
390 Checked out external at revision 1. |
413 |
391 |
414 Checked out revision 3. |
392 Checked out revision 3. |
415 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
393 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
416 $ hg id -n |
394 $ hg id -n |
420 3 |
398 3 |
421 $ cd .. |
399 $ cd .. |
422 |
400 |
423 Test subrepo already at intended revision: |
401 Test subrepo already at intended revision: |
424 $ cd s |
402 $ cd s |
425 $ svn update -r 2 |
403 $ svn update -qr 2 |
426 U alpha |
|
427 |
|
428 Fetching external item into 'externals' |
|
429 Updated external to revision 1. |
|
430 |
|
431 Updated to revision 2. |
|
432 $ cd .. |
404 $ cd .. |
433 $ hg update 1 |
405 $ hg update 1 |
434 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
406 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
435 $ hg id -n |
407 $ hg id -n |
436 1+ |
408 1+ |
447 $ echo epsilon.py > dir/epsilon.py |
419 $ echo epsilon.py > dir/epsilon.py |
448 $ svn add dir |
420 $ svn add dir |
449 A dir |
421 A dir |
450 A dir/epsilon.py |
422 A dir/epsilon.py |
451 $ svn ci -m 'Add dir/epsilon.py' |
423 $ svn ci -m 'Add dir/epsilon.py' |
452 Adding src/dir |
424 Adding *dir (glob) |
453 Adding src/dir/epsilon.py |
425 Adding *dir/epsilon.py (glob) |
454 Transmitting file data . |
426 Transmitting file data . |
455 Committed revision 6. |
427 Committed revision 6. |
456 $ cd ../.. |
428 $ cd ../.. |
457 $ hg init rebaserepo |
429 $ hg init rebaserepo |
458 $ cd rebaserepo |
430 $ cd rebaserepo |
464 $ echo a > a |
436 $ echo a > a |
465 $ hg ci -Am adda |
437 $ hg ci -Am adda |
466 adding a |
438 adding a |
467 $ hg up 0 |
439 $ hg up 0 |
468 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
440 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
469 $ svn up -r6 s |
441 $ svn up -qr6 s |
470 A s/dir |
|
471 A s/dir/epsilon.py |
|
472 |
|
473 Fetching external item into 's/externals' |
|
474 Updated external to revision 1. |
|
475 |
|
476 Updated to revision 6. |
|
477 $ hg ci -m updatesub |
442 $ hg ci -m updatesub |
478 committing subrepository s |
443 committing subrepository s |
479 created new head |
444 created new head |
480 $ echo pyc > s/dir/epsilon.pyc |
445 $ echo pyc > s/dir/epsilon.pyc |
481 $ hg up 1 |
446 $ hg up 1 |
482 D $TESTTMP/rebaserepo/s/dir |
447 D *s/dir (glob) |
483 |
448 |
484 Fetching external item into '$TESTTMP/rebaserepo/s/externals' |
449 Fetching external item into '*s/externals'* (glob) |
485 Checked out external at revision 1. |
450 Checked out external at revision 1. |
486 |
451 |
487 Checked out revision 5. |
452 Checked out revision 5. |
488 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
453 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
489 $ if "$TESTDIR/hghave" -q svn15; then |
454 $ if "$TESTDIR/hghave" -q svn15; then |
508 created new head |
473 created new head |
509 |
474 |
510 Switching back to the head where we have another path mapped to the |
475 Switching back to the head where we have another path mapped to the |
511 same subrepo should work if the subrepo is clean. |
476 same subrepo should work if the subrepo is clean. |
512 $ hg co other |
477 $ hg co other |
513 A $TESTTMP/rebaserepo/obstruct/other |
478 A *obstruct/other (glob) |
514 Checked out revision 1. |
479 Checked out revision 1. |
515 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
480 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
516 |
481 |
517 This is surprising, but is also correct based on the current code: |
482 This is surprising, but is also correct based on the current code: |
518 $ echo "updating should (maybe) fail" > obstruct/other |
483 $ echo "updating should (maybe) fail" > obstruct/other |
521 [255] |
486 [255] |
522 |
487 |
523 Point to a Subversion branch which has since been deleted and recreated |
488 Point to a Subversion branch which has since been deleted and recreated |
524 First, create that condition in the repository. |
489 First, create that condition in the repository. |
525 |
490 |
526 $ hg ci --subrepos -m cleanup |
491 $ hg ci --subrepos -m cleanup | grep -v Updating |
527 committing subrepository obstruct |
492 committing subrepository obstruct |
528 Sending obstruct/other |
493 Sending obstruct/other |
529 Transmitting file data . |
494 Transmitting file data . |
530 Committed revision 7. |
495 Committed revision 7. |
531 At revision 7. |
496 At revision 7. |
548 |
513 |
549 Committed revision 11. |
514 Committed revision 11. |
550 $ svn copy -m "recreate branch" $SVNREPO/trunk $SVNREPO/branch |
515 $ svn copy -m "recreate branch" $SVNREPO/trunk $SVNREPO/branch |
551 |
516 |
552 Committed revision 12. |
517 Committed revision 12. |
553 $ svn up |
518 $ svn up -q |
554 D somethingold |
|
555 Updated to revision 12. |
|
556 $ echo "something new" > somethingnew |
519 $ echo "something new" > somethingnew |
557 $ svn add somethingnew |
520 $ svn add somethingnew |
558 A somethingnew |
521 A somethingnew |
559 $ svn ci -m 'Something new' |
522 $ svn ci -m 'Something new' |
560 Adding somethingnew |
523 Adding somethingnew |
567 Checked out revision 10. |
530 Checked out revision 10. |
568 $ echo "recreated = [svn] $SVNREPO/branch" >> .hgsub |
531 $ echo "recreated = [svn] $SVNREPO/branch" >> .hgsub |
569 $ hg ci -m addsub |
532 $ hg ci -m addsub |
570 committing subrepository recreated |
533 committing subrepository recreated |
571 $ cd recreated |
534 $ cd recreated |
572 $ svn up |
535 $ svn up -q |
573 D somethingold |
|
574 A somethingnew |
|
575 Updated to revision 13. |
|
576 $ cd .. |
536 $ cd .. |
577 $ hg ci -m updatesub |
537 $ hg ci -m updatesub |
578 committing subrepository recreated |
538 committing subrepository recreated |
579 $ hg up -r-2 |
539 $ hg up -r-2 |
580 D $TESTTMP/rebaserepo/recreated/somethingnew |
540 D *recreated/somethingnew (glob) |
581 A $TESTTMP/rebaserepo/recreated/somethingold |
541 A *recreated/somethingold (glob) |
582 Checked out revision 10. |
542 Checked out revision 10. |
583 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
543 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
584 $ test -f recreated/somethingold |
544 $ test -f recreated/somethingold |
585 |
545 |