##// END OF EJS Templates
test-copies: add test chaining multiple merges...
marmoute -
r47295:3805b13a default
parent child Browse files
Show More
@@ -781,6 +781,91 b' about that file should stay unchanged.'
781 o 0 i-0 initial commit: a b h
781 o 0 i-0 initial commit: a b h
782
782
783
783
784 Subcase: chaining salvage information during a merge
785 ````````````````````````````````````````````````````
786
787 We add more change on the branch were the file was deleted. merging again
788 should preserve the fact eh file was salvaged.
789
790 $ case_desc="chained merges (salvaged -> simple) - same content (when the file exists)"
791
792 (creating the change)
793
794 $ hg up 'desc("c-1")'
795 1 files updated, 0 files merged, 2 files removed, 0 files unresolved
796 $ echo l > unrelated-l
797 $ hg add unrelated-l
798 $ hg ci -m 'l-1: unrelated changes (based on "c" changes)'
799 created new head
800
801 (Merge variant 1)
802
803 $ hg up 'desc("mBC-revert-m")'
804 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
805 $ hg merge 'desc("l-1")'
806 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
807 (branch merge, don't forget to commit)
808 $ hg ci -m "mBC+revert,Lm: $case_desc"
809
810 (Merge variant 2)
811
812 $ hg up 'desc("mCB-revert-m")'
813 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
814 $ hg merge 'desc("l-1")'
815 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
816 (branch merge, don't forget to commit)
817 $ hg ci -m "mCB+revert,Lm: $case_desc"
818
819 (Merge variant 3)
820
821 $ hg up 'desc("l-1")'
822 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
823
824 $ hg merge 'desc("mBC-revert-m")'
825 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
826 (branch merge, don't forget to commit)
827 $ hg ci -m "mL,BC+revertm: $case_desc"
828 created new head
829
830 (Merge variant 4)
831
832 $ hg up 'desc("l-1")'
833 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
834
835 $ hg merge 'desc("mCB-revert-m")'
836 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
837 (branch merge, don't forget to commit)
838 $ hg ci -m "mL,CB+revertm: $case_desc"
839 created new head
840
841 $ hg log -G --rev '::(desc("mBC+revert,Lm") + desc("mCB+revert,Lm") + desc("mL,BC+revertm") + desc("mL,CB+revertm"))'
842 @ 47 mL,CB+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
843 |\
844 | | o 46 mL,BC+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
845 | |/|
846 +-+---o 45 mCB+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists)
847 | | |
848 | +---o 44 mBC+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists)
849 | | |/
850 | o | 43 l-1: unrelated changes (based on "c" changes)
851 | | |
852 | | o 33 mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
853 | |/|
854 o---+ 32 mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
855 |/ /
856 o | 6 c-1 delete d
857 | |
858 | o 5 b-1: b update
859 |/
860 o 2 i-2: c -move-> d
861 |
862 o 1 i-1: a -move-> c
863 |
864 o 0 i-0 initial commit: a b h
865
866
867
868
784
869
785 Summary of all created cases
870 Summary of all created cases
786 ----------------------------
871 ----------------------------
@@ -807,15 +892,18 b' Summary of all created cases'
807 i-2: c -move-> d
892 i-2: c -move-> d
808 j-1: unrelated changes (based on the "a" series of changes)
893 j-1: unrelated changes (based on the "a" series of changes)
809 k-1: unrelated changes (based on "e" changes)
894 k-1: unrelated changes (based on "e" changes)
895 l-1: unrelated changes (based on "c" changes)
810 mABm-0 simple merge - A side: multiple renames, B side: unrelated update - the other way
896 mABm-0 simple merge - A side: multiple renames, B side: unrelated update - the other way
811 mAE,Km: chained merges (conflict -> simple) - same content everywhere
897 mAE,Km: chained merges (conflict -> simple) - same content everywhere
812 mAEm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - one way
898 mAEm-0 merge with copies info on both side - A side: rename d to f, E side: b to f, (same content for f) - one way
813 mBAm-0 simple merge - A side: multiple renames, B side: unrelated update - one way
899 mBAm-0 simple merge - A side: multiple renames, B side: unrelated update - one way
900 mBC+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists)
814 mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
901 mBC-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - the other way
815 mBCm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - one way
902 mBCm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - one way
816 mBCm-1 re-add d
903 mBCm-1 re-add d
817 mBDm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - one way
904 mBDm-0 simple merge - B side: unrelated update, D side: delete and recreate a file (with different content) - one way
818 mBFm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
905 mBFm-0 simple merge - B side: unrelated change, F side: overwrite d with a copy (from h->i->d) - one way
906 mCB+revert,Lm: chained merges (salvaged -> simple) - same content (when the file exists)
819 mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
907 mCB-revert-m-0 merge explicitely revive deleted file - B side: unrelated change, C side: delete d (restored by merge) - one way
820 mCBm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - the other way
908 mCBm-0 simple merge - C side: delete a file with copies history , B side: unrelated update - the other way
821 mCBm-1 re-add d
909 mCBm-1 re-add d
@@ -833,6 +921,8 b' Summary of all created cases'
833 mHC-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - the other way
921 mHC-delete-before-conflict-m-0 simple merge - C side: d is the results of renames then deleted, H side: d is result of another rename (same content as the other branch) - the other way
834 mJ,EAm: chained merges (conflict -> simple) - same content everywhere
922 mJ,EAm: chained merges (conflict -> simple) - same content everywhere
835 mK,AEm: chained merges (conflict -> simple) - same content everywhere
923 mK,AEm: chained merges (conflict -> simple) - same content everywhere
924 mL,BC+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
925 mL,CB+revertm: chained merges (salvaged -> simple) - same content (when the file exists)
836
926
837
927
838 Test that sidedata computations during upgrades are correct
928 Test that sidedata computations during upgrades are correct
@@ -1101,6 +1191,27 b' We upgrade a repository that is not usin'
1101 1 sidedata entries
1191 1 sidedata entries
1102 entry-0014 size 4
1192 entry-0014 size 4
1103 '\x00\x00\x00\x00'
1193 '\x00\x00\x00\x00'
1194 ##### revision 43 #####
1195 1 sidedata entries
1196 entry-0014 size 24
1197 '\x00\x00\x00\x01\x04\x00\x00\x00\x0b\x00\x00\x00\x00unrelated-l'
1198 added : unrelated-l, ;
1199 ##### revision 44 #####
1200 1 sidedata entries
1201 entry-0014 size 4
1202 '\x00\x00\x00\x00'
1203 ##### revision 45 #####
1204 1 sidedata entries
1205 entry-0014 size 4
1206 '\x00\x00\x00\x00'
1207 ##### revision 46 #####
1208 1 sidedata entries
1209 entry-0014 size 4
1210 '\x00\x00\x00\x00'
1211 ##### revision 47 #####
1212 1 sidedata entries
1213 entry-0014 size 4
1214 '\x00\x00\x00\x00'
1104
1215
1105 #endif
1216 #endif
1106
1217
@@ -1999,3 +2110,61 b' The result from mEAm is the same for the'
1999 a (known-bad-output upgraded !)
2110 a (known-bad-output upgraded !)
2000
2111
2001
2112
2113 Subcase: chaining salvage information during a merge
2114 ````````````````````````````````````````````````````
2115
2116 We add more change on the branch were the file was deleted. merging again
2117 should preserve the fact eh file was salvaged.
2118
2119 reference output:
2120
2121 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCB-revert-m-0")'
2122 M b
2123 A d
2124 a (filelog !)
2125 a (sidedata !)
2126 a (upgraded !)
2127 R a
2128 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBC-revert-m-0")'
2129 M b
2130 A d
2131 a (filelog !)
2132 a (sidedata !)
2133 a (upgraded !)
2134 R a
2135
2136 chained output
2137
2138 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mBC+revert,Lm")'
2139 M b
2140 A d
2141 a (filelog !)
2142 a (missing-correct-output sidedata !)
2143 a (missing-correct-output upgraded !)
2144 A unrelated-l
2145 R a
2146 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mCB+revert,Lm")'
2147 M b
2148 A d
2149 a (filelog !)
2150 a (missing-correct-output sidedata !)
2151 a (missing-correct-output upgraded !)
2152 A unrelated-l
2153 R a
2154 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mL,BC+revertm")'
2155 M b
2156 A d
2157 a (filelog !)
2158 a (missing-correct-output sidedata !)
2159 a (missing-correct-output upgraded !)
2160 A unrelated-l
2161 R a
2162 $ hg status --copies --rev 'desc("i-0")' --rev 'desc("mL,CB+revertm")'
2163 M b
2164 A d
2165 a (filelog !)
2166 a (missing-correct-output sidedata !)
2167 a (missing-correct-output upgraded !)
2168 A unrelated-l
2169 R a
2170
General Comments 0
You need to be logged in to leave comments. Login now