comparison tests/test-rename-merge2.t @ 27599:ad5966de3c9a

filemerge: default change/delete conflicts to 'leave unresolved' (BC) It makes far more sense to leave these conflicts unresolved and kick back to the user than to just assume that the local version be chosen. There are almost certainly buggy scripts and applications using Mercurial in the wild that do merges or rebases non-interactively, and then assume that if the operation succeeded there's nothing the user needs to pay attention to. (This wasn't possible earlier because there was no way to re-resolve change/delete conflicts -- but now it is.)
author Siddharth Agarwal <sid0@fb.com>
date Wed, 23 Dec 2015 12:51:45 -0800
parents 27b89a0957ec
children 564a354f7f35
comparison
equal deleted inserted replaced
27598:97e39f70fb47 27599:ad5966de3c9a
682 preserving b for resolve of b 682 preserving b for resolve of b
683 preserving rev for resolve of rev 683 preserving rev for resolve of rev
684 a: prompt deleted/changed -> m (premerge) 684 a: prompt deleted/changed -> m (premerge)
685 picked tool ':prompt' for a (binary False symlink False changedelete True) 685 picked tool ':prompt' for a (binary False symlink False changedelete True)
686 remote changed a which local deleted 686 remote changed a which local deleted
687 use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c 687 use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u
688 b: both created -> m (premerge) 688 b: both created -> m (premerge)
689 picked tool 'python ../merge' for b (binary False symlink False changedelete False) 689 picked tool 'python ../merge' for b (binary False symlink False changedelete False)
690 merging b 690 merging b
691 my b@02963e448370+ other b@8dbce441892a ancestor b@000000000000 691 my b@02963e448370+ other b@8dbce441892a ancestor b@000000000000
692 rev: versions differ -> m (premerge) 692 rev: versions differ -> m (premerge)
701 rev: versions differ -> m (merge) 701 rev: versions differ -> m (merge)
702 picked tool 'python ../merge' for rev (binary False symlink False changedelete False) 702 picked tool 'python ../merge' for rev (binary False symlink False changedelete False)
703 my rev@02963e448370+ other rev@8dbce441892a ancestor rev@924404dff337 703 my rev@02963e448370+ other rev@8dbce441892a ancestor rev@924404dff337
704 launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob) 704 launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob)
705 merge tool returned: 0 705 merge tool returned: 0
706 0 files updated, 3 files merged, 0 files removed, 0 files unresolved 706 0 files updated, 2 files merged, 0 files removed, 1 files unresolved
707 (branch merge, don't forget to commit) 707 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
708 -------------- 708 --------------
709 M a 709 M a
710 M b 710 M b
711 abort: unresolved merge conflicts (see "hg help resolve")
711 -------------- 712 --------------
712 713
713 $ tm "up a b" "nm a b" " " "19 merge b no ancestor, prompt remove a" 714 $ tm "up a b" "nm a b" " " "19 merge b no ancestor, prompt remove a"
714 created new head 715 created new head
715 -------------- 716 --------------
725 preserving b for resolve of b 726 preserving b for resolve of b
726 preserving rev for resolve of rev 727 preserving rev for resolve of rev
727 a: prompt changed/deleted -> m (premerge) 728 a: prompt changed/deleted -> m (premerge)
728 picked tool ':prompt' for a (binary False symlink False changedelete True) 729 picked tool ':prompt' for a (binary False symlink False changedelete True)
729 local changed a which remote deleted 730 local changed a which remote deleted
730 use (c)hanged version, (d)elete, or leave (u)nresolved? c 731 use (c)hanged version, (d)elete, or leave (u)nresolved? u
731 b: both created -> m (premerge) 732 b: both created -> m (premerge)
732 picked tool 'python ../merge' for b (binary False symlink False changedelete False) 733 picked tool 'python ../merge' for b (binary False symlink False changedelete False)
733 merging b 734 merging b
734 my b@0b76e65c8289+ other b@bdb19105162a ancestor b@000000000000 735 my b@0b76e65c8289+ other b@bdb19105162a ancestor b@000000000000
735 rev: versions differ -> m (premerge) 736 rev: versions differ -> m (premerge)
744 rev: versions differ -> m (merge) 745 rev: versions differ -> m (merge)
745 picked tool 'python ../merge' for rev (binary False symlink False changedelete False) 746 picked tool 'python ../merge' for rev (binary False symlink False changedelete False)
746 my rev@0b76e65c8289+ other rev@bdb19105162a ancestor rev@924404dff337 747 my rev@0b76e65c8289+ other rev@bdb19105162a ancestor rev@924404dff337
747 launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob) 748 launching merge tool: python ../merge *$TESTTMP/t/t/rev* * * (glob)
748 merge tool returned: 0 749 merge tool returned: 0
749 0 files updated, 3 files merged, 0 files removed, 0 files unresolved 750 0 files updated, 2 files merged, 0 files removed, 1 files unresolved
750 (branch merge, don't forget to commit) 751 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
751 -------------- 752 --------------
752 M b 753 M b
753 C a 754 C a
755 abort: unresolved merge conflicts (see "hg help resolve")
754 -------------- 756 --------------
755 757
756 $ tm "up a " "um a b" " " "20 merge a and b to b, remove a" 758 $ tm "up a " "um a b" " " "20 merge a and b to b, remove a"
757 created new head 759 created new head
758 -------------- 760 --------------