Show More
@@ -537,10 +537,7 b' def _checksinglesidecopies(' | |||||
537 | return |
|
537 | return | |
538 | # modified on side 2 |
|
538 | # modified on side 2 | |
539 | for dst in dsts1: |
|
539 | for dst in dsts1: | |
540 |
|
|
540 | copy[dst] = src | |
541 | # dst not added on side 2 (handle as regular |
|
|||
542 | # "both created" case in manifestmerge otherwise) |
|
|||
543 | copy[dst] = src |
|
|||
544 |
|
541 | |||
545 |
|
542 | |||
546 | class branch_copies(object): |
|
543 | class branch_copies(object): |
@@ -206,57 +206,31 b' modify x and rename y to z on the other ' | |||||
206 | # Depending on which side they pick, we should take that rename and get |
|
206 | # Depending on which side they pick, we should take that rename and get | |
207 | # the changes to the source from the other side. The unchanged file should |
|
207 | # the changes to the source from the other side. The unchanged file should | |
208 | # remain. |
|
208 | # remain. | |
209 | # we should not get the prompts about modify/delete conflicts |
|
|||
210 | $ hg merge --debug 1 -t :merge3 |
|
209 | $ hg merge --debug 1 -t :merge3 | |
211 | all copies found (* = to merge, ! = divergent, % = renamed and deleted): |
|
210 | all copies found (* = to merge, ! = divergent, % = renamed and deleted): | |
212 | on local side: |
|
211 | on local side: | |
213 | src: 'y' -> dst: 'z' |
|
212 | src: 'y' -> dst: 'z' * | |
214 | on remote side: |
|
213 | on remote side: | |
215 | src: 'x' -> dst: 'z' |
|
214 | src: 'x' -> dst: 'z' * | |
216 | checking for directory renames |
|
215 | checking for directory renames | |
217 | resolving manifests |
|
216 | resolving manifests | |
218 | branchmerge: True, force: False, partial: False |
|
217 | branchmerge: True, force: False, partial: False | |
219 | ancestor: 5151c134577e, local: 07fcbc9a74ed+, remote: f21419739508 |
|
218 | ancestor: 5151c134577e, local: 07fcbc9a74ed+, remote: f21419739508 | |
220 | preserving x for resolve of x |
|
|||
221 | preserving z for resolve of z |
|
219 | preserving z for resolve of z | |
222 | starting 4 threads for background file closing (?) |
|
220 | starting 4 threads for background file closing (?) | |
223 | x: prompt changed/deleted -> m (premerge) |
|
221 | z: both renamed from y -> m (premerge) | |
224 | picked tool ':prompt' for x (binary False symlink False changedelete True) |
|
|||
225 | file 'x' was deleted in other [merge rev] but was modified in local [working copy]. |
|
|||
226 | You can use (c)hanged version, (d)elete, or leave (u)nresolved. |
|
|||
227 | What do you want to do? u |
|
|||
228 | y: prompt deleted/changed -> m (premerge) |
|
|||
229 | picked tool ':prompt' for y (binary False symlink False changedelete True) |
|
|||
230 | file 'y' was deleted in local [working copy] but was modified in other [merge rev]. |
|
|||
231 | You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved. |
|
|||
232 | What do you want to do? u |
|
|||
233 | z: both created -> m (premerge) |
|
|||
234 | picked tool ':merge3' for z (binary False symlink False changedelete False) |
|
222 | picked tool ':merge3' for z (binary False symlink False changedelete False) | |
235 | merging z |
|
223 | merging z | |
236 |
my z@07fcbc9a74ed+ other z@f21419739508 ancestor |
|
224 | my z@07fcbc9a74ed+ other z@f21419739508 ancestor y@5151c134577e | |
237 | z: both created -> m (merge) |
|
225 | premerge successful | |
238 | picked tool ':merge3' for z (binary False symlink False changedelete False) |
|
226 | 0 files updated, 1 files merged, 0 files removed, 0 files unresolved | |
239 | my z@07fcbc9a74ed+ other z@f21419739508 ancestor z@000000000000 |
|
227 | (branch merge, don't forget to commit) | |
240 | warning: conflicts while merging z! (edit, then use 'hg resolve --mark') |
|
|||
241 | 0 files updated, 0 files merged, 0 files removed, 3 files unresolved |
|
|||
242 | use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon |
|
|||
243 | [1] |
|
|||
244 | $ ls |
|
228 | $ ls | |
245 | x |
|
229 | x | |
246 | y |
|
|||
247 | z |
|
230 | z | |
248 | z.orig |
|
|||
249 | $ cat x |
|
231 | $ cat x | |
250 | x |
|
232 | x | |
251 | foo |
|
233 | foo | |
252 | $ cat y |
|
|||
253 | y |
|
|||
254 | foo |
|
|||
255 | # 'z' should have had the added 'foo' line |
|
234 | # 'z' should have had the added 'foo' line | |
256 | $ cat z |
|
235 | $ cat z | |
257 | <<<<<<< working copy: 07fcbc9a74ed - test: modify x, rename y to z |
|
|||
258 | y |
|
|||
259 | ||||||| base |
|
|||
260 | ======= |
|
|||
261 | x |
|
236 | x | |
262 | >>>>>>> merge rev: f21419739508 - test: modify y, rename x to z |
|
@@ -529,7 +529,7 b' m "um a c" "um x c" " " "10 do merg' | |||||
529 | -------------- |
|
529 | -------------- | |
530 | all copies found (* = to merge, ! = divergent, % = renamed and deleted): |
|
530 | all copies found (* = to merge, ! = divergent, % = renamed and deleted): | |
531 | on local side: |
|
531 | on local side: | |
532 | src: 'a' -> dst: 'b' |
|
532 | src: 'a' -> dst: 'b' * | |
533 | checking for directory renames |
|
533 | checking for directory renames | |
534 | resolving manifests |
|
534 | resolving manifests | |
535 | branchmerge: True, force: False, partial: False |
|
535 | branchmerge: True, force: False, partial: False | |
@@ -538,19 +538,15 b' m "um a c" "um x c" " " "10 do merg' | |||||
538 | preserving rev for resolve of rev |
|
538 | preserving rev for resolve of rev | |
539 | a: remote is newer -> g |
|
539 | a: remote is newer -> g | |
540 | getting a |
|
540 | getting a | |
541 |
b: both |
|
541 | b: both renamed from a -> m (premerge) | |
542 | picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob) |
|
542 | picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob) | |
543 | merging b |
|
543 | merging b | |
544 |
my b@86a2aa42fc76+ other b@8dbce441892a ancestor |
|
544 | my b@86a2aa42fc76+ other b@8dbce441892a ancestor a@924404dff337 | |
|
545 | premerge successful | |||
545 | rev: versions differ -> m (premerge) |
|
546 | rev: versions differ -> m (premerge) | |
546 | picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob) |
|
547 | picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob) | |
547 | merging rev |
|
548 | merging rev | |
548 | my rev@86a2aa42fc76+ other rev@8dbce441892a ancestor rev@924404dff337 |
|
549 | my rev@86a2aa42fc76+ other rev@8dbce441892a ancestor rev@924404dff337 | |
549 | b: both created -> m (merge) |
|
|||
550 | picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob) |
|
|||
551 | my b@86a2aa42fc76+ other b@8dbce441892a ancestor b@000000000000 |
|
|||
552 | launching merge tool: * ../merge *$TESTTMP/t/t/b* * * (glob) |
|
|||
553 | merge tool returned: 0 |
|
|||
554 | rev: versions differ -> m (merge) |
|
550 | rev: versions differ -> m (merge) | |
555 | picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob) |
|
551 | picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob) | |
556 | my rev@86a2aa42fc76+ other rev@8dbce441892a ancestor rev@924404dff337 |
|
552 | my rev@86a2aa42fc76+ other rev@8dbce441892a ancestor rev@924404dff337 | |
@@ -611,7 +607,7 b' m "um a c" "um x c" " " "10 do merg' | |||||
611 | -------------- |
|
607 | -------------- | |
612 | all copies found (* = to merge, ! = divergent, % = renamed and deleted): |
|
608 | all copies found (* = to merge, ! = divergent, % = renamed and deleted): | |
613 | on local side: |
|
609 | on local side: | |
614 | src: 'a' -> dst: 'b' |
|
610 | src: 'a' -> dst: 'b' * | |
615 | checking for directory renames |
|
611 | checking for directory renames | |
616 | resolving manifests |
|
612 | resolving manifests | |
617 | branchmerge: True, force: False, partial: False |
|
613 | branchmerge: True, force: False, partial: False | |
@@ -620,19 +616,15 b' m "um a c" "um x c" " " "10 do merg' | |||||
620 | preserving rev for resolve of rev |
|
616 | preserving rev for resolve of rev | |
621 | a: remote is newer -> g |
|
617 | a: remote is newer -> g | |
622 | getting a |
|
618 | getting a | |
623 |
b: both |
|
619 | b: both renamed from a -> m (premerge) | |
624 | picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob) |
|
620 | picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob) | |
625 | merging b |
|
621 | merging b | |
626 |
my b@86a2aa42fc76+ other b@8dbce441892a ancestor |
|
622 | my b@86a2aa42fc76+ other b@8dbce441892a ancestor a@924404dff337 | |
|
623 | premerge successful | |||
627 | rev: versions differ -> m (premerge) |
|
624 | rev: versions differ -> m (premerge) | |
628 | picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob) |
|
625 | picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob) | |
629 | merging rev |
|
626 | merging rev | |
630 | my rev@86a2aa42fc76+ other rev@8dbce441892a ancestor rev@924404dff337 |
|
627 | my rev@86a2aa42fc76+ other rev@8dbce441892a ancestor rev@924404dff337 | |
631 | b: both created -> m (merge) |
|
|||
632 | picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob) |
|
|||
633 | my b@86a2aa42fc76+ other b@8dbce441892a ancestor b@000000000000 |
|
|||
634 | launching merge tool: * ../merge *$TESTTMP/t/t/b* * * (glob) |
|
|||
635 | merge tool returned: 0 |
|
|||
636 | rev: versions differ -> m (merge) |
|
628 | rev: versions differ -> m (merge) | |
637 | picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob) |
|
629 | picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob) | |
638 | my rev@86a2aa42fc76+ other rev@8dbce441892a ancestor rev@924404dff337 |
|
630 | my rev@86a2aa42fc76+ other rev@8dbce441892a ancestor rev@924404dff337 | |
@@ -652,7 +644,7 b' m "um a c" "um x c" " " "10 do merg' | |||||
652 | -------------- |
|
644 | -------------- | |
653 | all copies found (* = to merge, ! = divergent, % = renamed and deleted): |
|
645 | all copies found (* = to merge, ! = divergent, % = renamed and deleted): | |
654 | on remote side: |
|
646 | on remote side: | |
655 | src: 'a' -> dst: 'b' |
|
647 | src: 'a' -> dst: 'b' * | |
656 | checking for directory renames |
|
648 | checking for directory renames | |
657 | resolving manifests |
|
649 | resolving manifests | |
658 | branchmerge: True, force: False, partial: False |
|
650 | branchmerge: True, force: False, partial: False | |
@@ -660,19 +652,15 b' m "um a c" "um x c" " " "10 do merg' | |||||
660 | preserving b for resolve of b |
|
652 | preserving b for resolve of b | |
661 | preserving rev for resolve of rev |
|
653 | preserving rev for resolve of rev | |
662 | starting 4 threads for background file closing (?) |
|
654 | starting 4 threads for background file closing (?) | |
663 |
b: both |
|
655 | b: both renamed from a -> m (premerge) | |
664 | picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob) |
|
656 | picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob) | |
665 | merging b |
|
657 | merging b | |
666 |
my b@0b76e65c8289+ other b@4ce40f5aca24 ancestor |
|
658 | my b@0b76e65c8289+ other b@4ce40f5aca24 ancestor a@924404dff337 | |
|
659 | premerge successful | |||
667 | rev: versions differ -> m (premerge) |
|
660 | rev: versions differ -> m (premerge) | |
668 | picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob) |
|
661 | picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob) | |
669 | merging rev |
|
662 | merging rev | |
670 | my rev@0b76e65c8289+ other rev@4ce40f5aca24 ancestor rev@924404dff337 |
|
663 | my rev@0b76e65c8289+ other rev@4ce40f5aca24 ancestor rev@924404dff337 | |
671 | b: both created -> m (merge) |
|
|||
672 | picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob) |
|
|||
673 | my b@0b76e65c8289+ other b@4ce40f5aca24 ancestor b@000000000000 |
|
|||
674 | launching merge tool: * ../merge *$TESTTMP/t/t/b* * * (glob) |
|
|||
675 | merge tool returned: 0 |
|
|||
676 | rev: versions differ -> m (merge) |
|
664 | rev: versions differ -> m (merge) | |
677 | picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob) |
|
665 | picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob) | |
678 | my rev@0b76e65c8289+ other rev@4ce40f5aca24 ancestor rev@924404dff337 |
|
666 | my rev@0b76e65c8289+ other rev@4ce40f5aca24 ancestor rev@924404dff337 | |
@@ -692,7 +680,7 b' m "um a c" "um x c" " " "10 do merg' | |||||
692 | -------------- |
|
680 | -------------- | |
693 | all copies found (* = to merge, ! = divergent, % = renamed and deleted): |
|
681 | all copies found (* = to merge, ! = divergent, % = renamed and deleted): | |
694 | on local side: |
|
682 | on local side: | |
695 | src: 'a' -> dst: 'b' |
|
683 | src: 'a' -> dst: 'b' * | |
696 | checking for directory renames |
|
684 | checking for directory renames | |
697 | resolving manifests |
|
685 | resolving manifests | |
698 | branchmerge: True, force: False, partial: False |
|
686 | branchmerge: True, force: False, partial: False | |
@@ -700,35 +688,24 b' m "um a c" "um x c" " " "10 do merg' | |||||
700 | preserving b for resolve of b |
|
688 | preserving b for resolve of b | |
701 | preserving rev for resolve of rev |
|
689 | preserving rev for resolve of rev | |
702 | starting 4 threads for background file closing (?) |
|
690 | starting 4 threads for background file closing (?) | |
703 |
|
|
691 | b: both renamed from a -> m (premerge) | |
704 | picked tool ':prompt' for a (binary False symlink False changedelete True) |
|
|||
705 | file 'a' was deleted in local [working copy] but was modified in other [merge rev]. |
|
|||
706 | You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved. |
|
|||
707 | What do you want to do? u |
|
|||
708 | b: both created -> m (premerge) |
|
|||
709 | picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob) |
|
692 | picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob) | |
710 | merging b |
|
693 | merging b | |
711 |
my b@02963e448370+ other b@8dbce441892a ancestor |
|
694 | my b@02963e448370+ other b@8dbce441892a ancestor a@924404dff337 | |
|
695 | premerge successful | |||
712 | rev: versions differ -> m (premerge) |
|
696 | rev: versions differ -> m (premerge) | |
713 | picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob) |
|
697 | picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob) | |
714 | merging rev |
|
698 | merging rev | |
715 | my rev@02963e448370+ other rev@8dbce441892a ancestor rev@924404dff337 |
|
699 | my rev@02963e448370+ other rev@8dbce441892a ancestor rev@924404dff337 | |
716 | b: both created -> m (merge) |
|
|||
717 | picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob) |
|
|||
718 | my b@02963e448370+ other b@8dbce441892a ancestor b@000000000000 |
|
|||
719 | launching merge tool: * ../merge *$TESTTMP/t/t/b* * * (glob) |
|
|||
720 | merge tool returned: 0 |
|
|||
721 | rev: versions differ -> m (merge) |
|
700 | rev: versions differ -> m (merge) | |
722 | picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob) |
|
701 | picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob) | |
723 | my rev@02963e448370+ other rev@8dbce441892a ancestor rev@924404dff337 |
|
702 | my rev@02963e448370+ other rev@8dbce441892a ancestor rev@924404dff337 | |
724 | launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob) |
|
703 | launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob) | |
725 | merge tool returned: 0 |
|
704 | merge tool returned: 0 | |
726 |
0 files updated, 2 files merged, 0 files removed, |
|
705 | 0 files updated, 2 files merged, 0 files removed, 0 files unresolved | |
727 | use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon |
|
706 | (branch merge, don't forget to commit) | |
728 | -------------- |
|
707 | -------------- | |
729 | M a |
|
|||
730 | M b |
|
708 | M b | |
731 | abort: unresolved merge conflicts (see 'hg help resolve') |
|
|||
732 | -------------- |
|
709 | -------------- | |
733 |
|
|
710 | ||
734 | $ tm "up a b" "nm a b" " " "19 merge b no ancestor, prompt remove a" |
|
711 | $ tm "up a b" "nm a b" " " "19 merge b no ancestor, prompt remove a" | |
@@ -738,44 +715,33 b' m "um a c" "um x c" " " "10 do merg' | |||||
738 | -------------- |
|
715 | -------------- | |
739 | all copies found (* = to merge, ! = divergent, % = renamed and deleted): |
|
716 | all copies found (* = to merge, ! = divergent, % = renamed and deleted): | |
740 | on remote side: |
|
717 | on remote side: | |
741 | src: 'a' -> dst: 'b' |
|
718 | src: 'a' -> dst: 'b' * | |
742 | checking for directory renames |
|
719 | checking for directory renames | |
743 | resolving manifests |
|
720 | resolving manifests | |
744 | branchmerge: True, force: False, partial: False |
|
721 | branchmerge: True, force: False, partial: False | |
745 | ancestor: 924404dff337, local: 0b76e65c8289+, remote: bdb19105162a |
|
722 | ancestor: 924404dff337, local: 0b76e65c8289+, remote: bdb19105162a | |
746 | preserving a for resolve of a |
|
|||
747 | preserving b for resolve of b |
|
723 | preserving b for resolve of b | |
748 | preserving rev for resolve of rev |
|
724 | preserving rev for resolve of rev | |
|
725 | b: both renamed from a -> m (premerge) | |||
749 | starting 4 threads for background file closing (?) |
|
726 | starting 4 threads for background file closing (?) | |
750 | a: prompt changed/deleted -> m (premerge) |
|
|||
751 | picked tool ':prompt' for a (binary False symlink False changedelete True) |
|
|||
752 | file 'a' was deleted in other [merge rev] but was modified in local [working copy]. |
|
|||
753 | You can use (c)hanged version, (d)elete, or leave (u)nresolved. |
|
|||
754 | What do you want to do? u |
|
|||
755 | b: both created -> m (premerge) |
|
|||
756 |
picked |
|
727 | picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob) | |
757 | merging b |
|
728 | merging b | |
758 |
my b@0b76e65c8289+ other b@bdb19105162a ancestor |
|
729 | my b@0b76e65c8289+ other b@bdb19105162a ancestor a@924404dff337 | |
|
730 | premerge successful | |||
759 | rev: versions differ -> m (premerge) |
|
731 | rev: versions differ -> m (premerge) | |
760 |
picked |
|
732 | picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob) | |
761 | merging rev |
|
733 | merging rev | |
762 | my rev@0b76e65c8289+ other rev@bdb19105162a ancestor rev@924404dff337 |
|
734 | my rev@0b76e65c8289+ other rev@bdb19105162a ancestor rev@924404dff337 | |
763 | b: both created -> m (merge) |
|
|||
764 | picked tool '* ../merge' for b (binary False symlink False changedelete False) (glob) |
|
|||
765 | my b@0b76e65c8289+ other b@bdb19105162a ancestor b@000000000000 |
|
|||
766 | launching merge tool: * ../merge *$TESTTMP/t/t/b* * * (glob) |
|
|||
767 | merge tool returned: 0 |
|
|||
768 | rev: versions differ -> m (merge) |
|
735 | rev: versions differ -> m (merge) | |
769 |
picked |
|
736 | picked tool '* ../merge' for rev (binary False symlink False changedelete False) (glob) | |
770 | my rev@0b76e65c8289+ other rev@bdb19105162a ancestor rev@924404dff337 |
|
737 | my rev@0b76e65c8289+ other rev@bdb19105162a ancestor rev@924404dff337 | |
771 | launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob) |
|
738 | launching merge tool: * ../merge *$TESTTMP/t/t/rev* * * (glob) | |
772 | merge tool returned: 0 |
|
739 | merge tool returned: 0 | |
773 |
0 files updated, 2 files merged, 0 files removed, |
|
740 | 0 files updated, 2 files merged, 0 files removed, 0 files unresolved | |
774 | use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon |
|
741 | (branch merge, don't forget to commit) | |
775 | -------------- |
|
742 | -------------- | |
776 | M b |
|
743 | M b | |
777 | C a |
|
744 | C a | |
778 | abort: unresolved merge conflicts (see 'hg help resolve') |
|
|||
779 |
|
|
745 | -------------- | |
780 |
|
746 | |||
781 |
$ |
|
747 | $ tm "up a " "um a b" " " "20 merge a and b to b, remove a" |
General Comments 0
You need to be logged in to leave comments.
Login now