675 |
675 |
676 test converting merges into a repo that contains other files |
676 test converting merges into a repo that contains other files |
677 |
677 |
678 $ hg init merge-test1 |
678 $ hg init merge-test1 |
679 $ cd merge-test1 |
679 $ cd merge-test1 |
680 $ touch a && hg commit -Aqm a |
680 $ touch a && hg commit -Aqm 'add a' |
681 $ hg up -q null |
681 $ echo a > a && hg commit -Aqm 'edit a' |
682 $ touch b && hg commit -Aqm b |
682 $ hg up -q 0 |
683 $ hg merge -q 0 && hg commit -qm merge |
683 $ touch b && hg commit -Aqm 'add b' |
|
684 $ hg merge -q 1 && hg commit -qm 'merge a & b' |
|
685 |
684 $ cd .. |
686 $ cd .. |
685 $ hg init merge-test2 |
687 $ hg init merge-test2 |
686 $ cd merge-test2 |
688 $ cd merge-test2 |
687 $ mkdir converted |
689 $ mkdir converted |
688 $ touch converted/a && hg commit -Aqm 'a' |
690 $ touch converted/a toberemoved && hg commit -Aqm 'add converted/a & toberemoved' |
689 $ touch x && hg commit -Aqm 'x' |
691 $ touch x && rm toberemoved && hg commit -Aqm 'add x & remove tobremoved' |
690 $ cd .. |
692 $ cd .. |
691 $ hg log -G -T '{node}' -R merge-test1 |
693 $ hg log -G -T '{shortest(node)} {desc}' -R merge-test1 |
692 @ ea7c1a7ae9588677a715ce4f204cd89c28d5471f |
694 @ 1191 merge a & b |
693 |\ |
695 |\ |
694 | o d7486e00c6f1b633dcadc0582f78006d805c7a0f |
696 | o 9077 add b |
695 | |
697 | | |
696 o 3903775176ed42b1458a6281db4a0ccf4d9f287a |
698 o | d19f edit a |
697 |
699 |/ |
698 $ hg log -G -T '{node}' -R merge-test2 |
700 o ac82 add a |
699 @ 34f1aa7da42559bae87920880b522d47b3ddbc0d |
701 |
700 | |
702 $ hg log -G -T '{shortest(node)} {desc}' -R merge-test2 |
701 o e01a12b07b4fdfd61ff90a2a1b4560a7a776f323 |
703 @ 150e add x & remove tobremoved |
|
704 | |
|
705 o bbac add converted/a & toberemoved |
702 |
706 |
703 - Build a shamap where the target converted/a is in on top of an unrelated |
707 - Build a shamap where the target converted/a is in on top of an unrelated |
704 - change to 'x'. This simulates using convert to merge several repositories |
708 - change to 'x'. This simulates using convert to merge several repositories |
705 - together. |
709 - together. |
706 $ cat >> merge-test2/.hg/shamap <<EOF |
710 $ cat >> merge-test2/.hg/shamap <<EOF |
707 > 3903775176ed42b1458a6281db4a0ccf4d9f287a 34f1aa7da42559bae87920880b522d47b3ddbc0d |
711 > $(hg -R merge-test1 log -r 0 -T '{node}') $(hg -R merge-test2 log -r 0 -T '{node}') |
|
712 > $(hg -R merge-test1 log -r 1 -T '{node}') $(hg -R merge-test2 log -r 1 -T '{node}') |
708 > EOF |
713 > EOF |
709 $ cat >> merge-test-filemap <<EOF |
714 $ cat >> merge-test-filemap <<EOF |
710 > rename . converted/ |
715 > rename . converted/ |
711 > EOF |
716 > EOF |
712 $ hg convert --filemap merge-test-filemap merge-test1 merge-test2 --traceback |
717 $ hg convert --filemap merge-test-filemap merge-test1 merge-test2 --traceback |
713 scanning source... |
718 scanning source... |
714 sorting... |
719 sorting... |
715 converting... |
720 converting... |
716 1 b |
721 1 add b |
717 0 merge |
722 0 merge a & b |
718 $ hg -R merge-test2 manifest -r tip |
723 $ hg -R merge-test2 manifest -r tip |
719 converted/a |
724 converted/a |
720 converted/b |
725 converted/b |
721 x |
726 x |
722 $ hg -R merge-test2 log -G -T '{node}\n{files % "{file}\n"}' |
727 $ hg -R merge-test2 log -G -T '{shortest(node)} {desc}\n{files % "- {file}\n"}\n' |
723 o 4b5e2f0218d3442a0c14892b18685bf9c8059c4a |
728 o 6eaa merge a & b |
724 |\ |
729 |\ - converted/a |
725 | o 214325dd2e4cff981dcf00cb120cd39e1ea36dcc |
730 | | - toberemoved |
726 | converted/b |
731 | | |
727 @ 34f1aa7da42559bae87920880b522d47b3ddbc0d |
732 | o 2995 add b |
728 | x |
733 | | - converted/b |
729 o e01a12b07b4fdfd61ff90a2a1b4560a7a776f323 |
734 | | |
730 converted/a |
735 @ | 150e add x & remove tobremoved |
731 |
736 |/ - toberemoved |
|
737 | - x |
|
738 | |
|
739 o bbac add converted/a & toberemoved |
|
740 - converted/a |
|
741 - toberemoved |
|
742 |
|
743 |