##// END OF EJS Templates
convert: fix syncing deletes from p2 merge commit...
Durham Goode -
r26078:5ca58734 default
parent child Browse files
Show More
@@ -223,7 +223,12 b' class mercurial_sink(converter_sink):'
223 def getfilectx(repo, memctx, f):
223 def getfilectx(repo, memctx, f):
224 if p2ctx and f in p2files and f not in copies:
224 if p2ctx and f in p2files and f not in copies:
225 self.ui.debug('reusing %s from p2\n' % f)
225 self.ui.debug('reusing %s from p2\n' % f)
226 return p2ctx[f]
226 try:
227 return p2ctx[f]
228 except error.ManifestLookupError:
229 # If the file doesn't exist in p2, then we're syncing a
230 # delete, so just return None.
231 return None
227 try:
232 try:
228 v = files[f]
233 v = files[f]
229 except KeyError:
234 except KeyError:
@@ -677,34 +677,39 b' test converting merges into a repo that '
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
699 |/
700 o ac82 add a
697
701
698 $ hg log -G -T '{node}' -R merge-test2
702 $ hg log -G -T '{shortest(node)} {desc}' -R merge-test2
699 @ 34f1aa7da42559bae87920880b522d47b3ddbc0d
703 @ 150e add x & remove tobremoved
700 |
704 |
701 o e01a12b07b4fdfd61ff90a2a1b4560a7a776f323
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/
@@ -713,19 +718,26 b' test converting merges into a repo that '
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
736 |/ - toberemoved
737 | - x
738 |
739 o bbac add converted/a & toberemoved
740 - converted/a
741 - toberemoved
742
731
743
General Comments 0
You need to be logged in to leave comments. Login now