461 x -> z (no-filelog !) |
461 x -> z (no-filelog !) |
462 $ hg debugpathcopies 0 5 |
462 $ hg debugpathcopies 0 5 |
463 x -> z |
463 x -> z |
464 |
464 |
465 |
465 |
|
466 Create x and y, then rename x to z on one side of merge, and rename y to z and |
|
467 then delete z on the other side. |
|
468 $ newrepo |
|
469 $ echo x > x |
|
470 $ echo y > y |
|
471 $ hg ci -Aqm 'add x and y' |
|
472 $ hg mv x z |
|
473 $ hg ci -qm 'rename x to z' |
|
474 $ hg co -q 0 |
|
475 $ hg mv y z |
|
476 $ hg ci -qm 'rename y to z' |
|
477 $ hg rm z |
|
478 $ hg ci -m 'delete z' |
|
479 $ hg merge -q 1 |
|
480 $ echo z > z |
|
481 $ hg ci -m 'merge 1 into 3' |
|
482 Try merging the other direction too |
|
483 $ hg co -q 1 |
|
484 $ hg merge -q 3 |
|
485 $ echo z > z |
|
486 $ hg ci -m 'merge 3 into 1' |
|
487 created new head |
|
488 $ hg l |
|
489 @ 5 merge 3 into 1 |
|
490 |\ z |
|
491 +---o 4 merge 1 into 3 |
|
492 | |/ z |
|
493 | o 3 delete z |
|
494 | | z |
|
495 | o 2 rename y to z |
|
496 | | y z |
|
497 o | 1 rename x to z |
|
498 |/ x z |
|
499 o 0 add x and y |
|
500 x y |
|
501 $ hg debugpathcopies 1 4 |
|
502 $ hg debugpathcopies 2 4 |
|
503 x -> z (no-filelog !) |
|
504 $ hg debugpathcopies 0 4 |
|
505 x -> z (filelog !) |
|
506 $ hg debugpathcopies 1 5 |
|
507 $ hg debugpathcopies 2 5 |
|
508 x -> z (no-filelog !) |
|
509 $ hg debugpathcopies 0 5 |
|
510 x -> z |
|
511 |
|
512 |
466 Test for a case in fullcopytracing algorithm where neither of the merging csets |
513 Test for a case in fullcopytracing algorithm where neither of the merging csets |
467 is a descendant of the merge base. This test reflects that the algorithm |
514 is a descendant of the merge base. This test reflects that the algorithm |
468 correctly finds the copies: |
515 correctly finds the copies: |
469 |
516 |
470 $ cat >> $HGRCPATH << EOF |
517 $ cat >> $HGRCPATH << EOF |