##// END OF EJS Templates
tests: add systematic test of merge ancestor calculation...
Mads Kiilerich -
r20637:73a3a238 default
parent child Browse files
Show More
@@ -752,3 +752,198 b' m "nm a b" "um x a" " " "22 get a, '
752
752
753
753
754 $ cd ..
754 $ cd ..
755
756
757 Systematic and terse testing of merge merges and ancestor calculation:
758
759 Excpected result:
760
761 \ a m1 m2 dst
762 0 - f f f "versions differ"
763 1 f g g g "versions differ"
764 2 f f f f "versions differ"
765 3 f f g f+g "remote copied to " + f
766 4 f f g g "remote moved to " + f
767 5 f g f f+g "local copied to " + f2
768 6 f g f g "local moved to " + f2
769 7 - (f) f f "remote differs from untracked local"
770 8 f (f) f f "remote differs from untracked local"
771
772 $ hg init ancestortest
773 $ cd ancestortest
774 $ for x in 1 2 3 4 5 6 8; do mkdir $x; echo a > $x/f; done
775 $ hg ci -Aqm "a"
776 $ mkdir 0
777 $ touch 0/f
778 $ hg mv 1/f 1/g
779 $ hg cp 5/f 5/g
780 $ hg mv 6/f 6/g
781 $ hg rm 8/f
782 $ for x in */*; do echo m1 > $x; done
783 $ hg ci -Aqm "m1"
784 $ hg up -qr0
785 $ mkdir 0 7
786 $ touch 0/f 7/f
787 $ hg mv 1/f 1/g
788 $ hg cp 3/f 3/g
789 $ hg mv 4/f 4/g
790 $ for x in */*; do echo m2 > $x; done
791 $ hg ci -Aqm "m2"
792 $ hg up -qr1
793 $ mkdir 7 8
794 $ echo m > 7/f
795 $ echo m > 8/f
796 $ hg merge -f --tool internal:dump -v --debug -r2 | sed '/^updating:/,$d' 2> /dev/null
797 searching for copies back to rev 1
798 unmatched files in local:
799 5/g
800 6/g
801 unmatched files in other:
802 3/g
803 4/g
804 7/f
805 all copies found (* = to merge, ! = divergent, % = renamed and deleted):
806 src: '3/f' -> dst: '3/g' *
807 src: '4/f' -> dst: '4/g' *
808 src: '5/f' -> dst: '5/g' *
809 src: '6/f' -> dst: '6/g' *
810 checking for directory renames
811 resolving manifests
812 branchmerge: True, force: True, partial: False
813 ancestor: e6cb3cf11019, local: ec44bf929ab5+, remote: c62e34d0b898
814 remote changed 8/f which local deleted
815 use (c)hanged version or leave (d)eleted? c
816 0/f: versions differ -> m
817 preserving 0/f for resolve of 0/f
818 1/g: versions differ -> m
819 preserving 1/g for resolve of 1/g
820 2/f: versions differ -> m
821 preserving 2/f for resolve of 2/f
822 3/f: versions differ -> m
823 preserving 3/f for resolve of 3/f
824 3/f: remote copied to 3/g -> m
825 preserving 3/f for resolve of 3/g
826 4/f: remote moved to 4/g -> m
827 preserving 4/f for resolve of 4/g
828 5/f: versions differ -> m
829 preserving 5/f for resolve of 5/f
830 5/g: local copied/moved to 5/f -> m
831 preserving 5/g for resolve of 5/g
832 6/g: local copied/moved to 6/f -> m
833 preserving 6/g for resolve of 6/g
834 7/f: remote differs from untracked local -> m
835 preserving 7/f for resolve of 7/f
836 8/f: prompt recreating -> g
837 removing 4/f
838 getting 8/f
839 $ hg mani
840 0/f
841 1/g
842 2/f
843 3/f
844 4/f
845 5/f
846 5/g
847 6/g
848 $ for f in */*; do echo $f:; cat $f; done
849 0/f:
850 m1
851 0/f.base:
852 0/f.local:
853 m1
854 0/f.orig:
855 m1
856 0/f.other:
857 m2
858 1/g:
859 m1
860 1/g.base:
861 a
862 1/g.local:
863 m1
864 1/g.orig:
865 m1
866 1/g.other:
867 m2
868 2/f:
869 m1
870 2/f.base:
871 a
872 2/f.local:
873 m1
874 2/f.orig:
875 m1
876 2/f.other:
877 m2
878 3/f:
879 m1
880 3/f.base:
881 a
882 3/f.local:
883 m1
884 3/f.orig:
885 m1
886 3/f.other:
887 m2
888 3/g:
889 m1
890 3/g.base:
891 a
892 3/g.local:
893 m1
894 3/g.orig:
895 m1
896 3/g.other:
897 m2
898 4/g:
899 m1
900 4/g.base:
901 a
902 4/g.local:
903 m1
904 4/g.orig:
905 m1
906 4/g.other:
907 m2
908 5/f:
909 m1
910 5/f.base:
911 a
912 5/f.local:
913 m1
914 5/f.orig:
915 m1
916 5/f.other:
917 m2
918 5/g:
919 m1
920 5/g.base:
921 a
922 5/g.local:
923 m1
924 5/g.orig:
925 m1
926 5/g.other:
927 m2
928 6/g:
929 m1
930 6/g.base:
931 a
932 6/g.local:
933 m1
934 6/g.orig:
935 m1
936 6/g.other:
937 m2
938 7/f:
939 m
940 7/f.base:
941 7/f.local:
942 m
943 7/f.orig:
944 m
945 7/f.other:
946 m2
947 8/f:
948 m2
949 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now