Mercurial > evolve
comparison tests/test-stablerange-branchpoint.t @ 3258:af1f8f0687e1
stablerange: introduce a basic-mergepoint method
This method use the new 'mergepoint' based stable sorting. It is expected to be
eventually better than branch point to stable range: more stable, easier to
cache, etc. Having a basic implementation will allow use to validate more
advanced implementation.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sun, 10 Dec 2017 01:06:16 +0100 |
parents | tests/test-stablerange.t@d57400a0f4c3 |
children | 39739c2257e3 |
comparison
equal
deleted
inserted
replaced
3257:064738ae1588 | 3258:af1f8f0687e1 |
---|---|
1 Test for stable ordering capabilities | |
2 ===================================== | |
3 | |
4 $ . $TESTDIR/testlib/pythonpath.sh | |
5 | |
6 $ cat << EOF >> $HGRCPATH | |
7 > [extensions] | |
8 > hgext3rd.evolve = | |
9 > [ui] | |
10 > logtemplate = "{rev} {node|short} {desc} {tags}\n" | |
11 > [defaults] | |
12 > debugstablerange = --method branchpoint | |
13 > EOF | |
14 | |
15 Simple linear test | |
16 ================== | |
17 | |
18 $ hg init repo_linear | |
19 $ cd repo_linear | |
20 $ hg debugbuilddag '.+6' | |
21 $ hg debugdepth -r 'all()' | |
22 1ea73414a91b 1 | |
23 66f7d451a68b 2 | |
24 01241442b3c2 3 | |
25 2dc09a01254d 4 | |
26 bebd167eb94d 5 | |
27 c8d03c1b5e94 6 | |
28 f69452c5b1af 7 | |
29 $ hg debugstablerange --verify --verbose --subranges --rev 1 | |
30 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
31 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
32 66f7d451a68b-1 (1, 2, 1) [leaf] - | |
33 $ hg debugstablerange --verify --verbose --subranges --rev 1 > 1.range | |
34 | |
35 bigger subset reuse most of the previous one | |
36 | |
37 $ hg debugstablerange --verify --verbose --subranges --rev 4 | |
38 bebd167eb94d-0 (4, 5, 5) [complete] - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1) | |
39 2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) | |
40 2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) | |
41 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
42 01241442b3c2-2 (2, 3, 1) [leaf] - | |
43 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
44 2dc09a01254d-3 (3, 4, 1) [leaf] - | |
45 66f7d451a68b-1 (1, 2, 1) [leaf] - | |
46 bebd167eb94d-4 (4, 5, 1) [leaf] - | |
47 $ hg debugstablerange --verify --verbose --subranges --rev 4 > 4.range | |
48 $ diff -u 1.range 4.range | |
49 --- 1.range * (glob) | |
50 +++ 4.range * (glob) | |
51 @@ -1,3 +1,9 @@ | |
52 +bebd167eb94d-0 (4, 5, 5) [complete] - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1) | |
53 +2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) | |
54 +2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) | |
55 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
56 +01241442b3c2-2 (2, 3, 1) [leaf] - | |
57 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
58 +2dc09a01254d-3 (3, 4, 1) [leaf] - | |
59 66f7d451a68b-1 (1, 2, 1) [leaf] - | |
60 +bebd167eb94d-4 (4, 5, 1) [leaf] - | |
61 [1] | |
62 | |
63 Using a range not ending on 2**N boundary | |
64 we fall back on 2**N as much as possible | |
65 | |
66 $ hg debugstablerange --verify --verbose --subranges --rev 5 | |
67 c8d03c1b5e94-0 (5, 6, 6) [complete] - 2dc09a01254d-0 (3, 4, 4), c8d03c1b5e94-4 (5, 6, 2) | |
68 2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) | |
69 2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) | |
70 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
71 c8d03c1b5e94-4 (5, 6, 2) [complete] - bebd167eb94d-4 (4, 5, 1), c8d03c1b5e94-5 (5, 6, 1) | |
72 01241442b3c2-2 (2, 3, 1) [leaf] - | |
73 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
74 2dc09a01254d-3 (3, 4, 1) [leaf] - | |
75 66f7d451a68b-1 (1, 2, 1) [leaf] - | |
76 bebd167eb94d-4 (4, 5, 1) [leaf] - | |
77 c8d03c1b5e94-5 (5, 6, 1) [leaf] - | |
78 $ hg debugstablerange --verify --verbose --subranges --rev 5 > 5.range | |
79 $ diff -u 4.range 5.range | |
80 --- 4.range * (glob) | |
81 +++ 5.range * (glob) | |
82 @@ -1,9 +1,11 @@ | |
83 -bebd167eb94d-0 (4, 5, 5) [complete] - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1) | |
84 +c8d03c1b5e94-0 (5, 6, 6) [complete] - 2dc09a01254d-0 (3, 4, 4), c8d03c1b5e94-4 (5, 6, 2) | |
85 2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) | |
86 2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) | |
87 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
88 +c8d03c1b5e94-4 (5, 6, 2) [complete] - bebd167eb94d-4 (4, 5, 1), c8d03c1b5e94-5 (5, 6, 1) | |
89 01241442b3c2-2 (2, 3, 1) [leaf] - | |
90 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
91 2dc09a01254d-3 (3, 4, 1) [leaf] - | |
92 66f7d451a68b-1 (1, 2, 1) [leaf] - | |
93 bebd167eb94d-4 (4, 5, 1) [leaf] - | |
94 +c8d03c1b5e94-5 (5, 6, 1) [leaf] - | |
95 [1] | |
96 | |
97 Even two unperfect range overlap a lot | |
98 | |
99 $ hg debugstablerange --verify --verbose --subranges --rev tip | |
100 f69452c5b1af-0 (6, 7, 7) [complete] - 2dc09a01254d-0 (3, 4, 4), f69452c5b1af-4 (6, 7, 3) | |
101 2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) | |
102 f69452c5b1af-4 (6, 7, 3) [complete] - c8d03c1b5e94-4 (5, 6, 2), f69452c5b1af-6 (6, 7, 1) | |
103 2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) | |
104 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
105 c8d03c1b5e94-4 (5, 6, 2) [complete] - bebd167eb94d-4 (4, 5, 1), c8d03c1b5e94-5 (5, 6, 1) | |
106 01241442b3c2-2 (2, 3, 1) [leaf] - | |
107 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
108 2dc09a01254d-3 (3, 4, 1) [leaf] - | |
109 66f7d451a68b-1 (1, 2, 1) [leaf] - | |
110 bebd167eb94d-4 (4, 5, 1) [leaf] - | |
111 c8d03c1b5e94-5 (5, 6, 1) [leaf] - | |
112 f69452c5b1af-6 (6, 7, 1) [leaf] - | |
113 $ hg debugstablerange --verify --verbose --subranges --rev tip > tip.range | |
114 $ diff -u 5.range tip.range | |
115 --- 5.range * (glob) | |
116 +++ tip.range * (glob) | |
117 @@ -1,5 +1,6 @@ | |
118 -c8d03c1b5e94-0 (5, 6, 6) [complete] - 2dc09a01254d-0 (3, 4, 4), c8d03c1b5e94-4 (5, 6, 2) | |
119 +f69452c5b1af-0 (6, 7, 7) [complete] - 2dc09a01254d-0 (3, 4, 4), f69452c5b1af-4 (6, 7, 3) | |
120 2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) | |
121 +f69452c5b1af-4 (6, 7, 3) [complete] - c8d03c1b5e94-4 (5, 6, 2), f69452c5b1af-6 (6, 7, 1) | |
122 2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) | |
123 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
124 c8d03c1b5e94-4 (5, 6, 2) [complete] - bebd167eb94d-4 (4, 5, 1), c8d03c1b5e94-5 (5, 6, 1) | |
125 @@ -9,3 +10,4 @@ | |
126 66f7d451a68b-1 (1, 2, 1) [leaf] - | |
127 bebd167eb94d-4 (4, 5, 1) [leaf] - | |
128 c8d03c1b5e94-5 (5, 6, 1) [leaf] - | |
129 +f69452c5b1af-6 (6, 7, 1) [leaf] - | |
130 [1] | |
131 | |
132 $ cd .. | |
133 | |
134 Case with merge | |
135 =============== | |
136 | |
137 Simple case: branching is on a boundary | |
138 -------------------------------------------- | |
139 | |
140 $ hg init repo_merge_split_on_boundary | |
141 $ cd repo_merge_split_on_boundary | |
142 $ hg debugbuilddag '.:base | |
143 > +3:left | |
144 > <base+3:right | |
145 > <left/right:merge | |
146 > +2:head | |
147 > ' | |
148 $ hg log -G | |
149 o 9 0338daf18215 r9 head tip | |
150 | | |
151 o 8 71b32fcf3f71 r8 | |
152 | | |
153 o 7 5f18015f9110 r7 merge | |
154 |\ | |
155 | o 6 a2f58e9c1e56 r6 right | |
156 | | | |
157 | o 5 3a367db1fabc r5 | |
158 | | | |
159 | o 4 e7bd5218ca15 r4 | |
160 | | | |
161 o | 3 2dc09a01254d r3 left | |
162 | | | |
163 o | 2 01241442b3c2 r2 | |
164 | | | |
165 o | 1 66f7d451a68b r1 | |
166 |/ | |
167 o 0 1ea73414a91b r0 base | |
168 | |
169 $ hg debugdepth -r 'all()' | |
170 1ea73414a91b 1 | |
171 66f7d451a68b 2 | |
172 01241442b3c2 3 | |
173 2dc09a01254d 4 | |
174 e7bd5218ca15 2 | |
175 3a367db1fabc 3 | |
176 a2f58e9c1e56 4 | |
177 5f18015f9110 8 | |
178 71b32fcf3f71 9 | |
179 0338daf18215 10 | |
180 | |
181 Each of the linear branch reuse range internally | |
182 | |
183 (left branch) | |
184 | |
185 $ hg debugstablerange --verify --verbose --subranges --rev 'left~2' | |
186 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
187 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
188 66f7d451a68b-1 (1, 2, 1) [leaf] - | |
189 $ hg debugstablerange --verify --verbose --subranges --rev 'left~2' > left-2.range | |
190 $ hg debugstablerange --verify --verbose --subranges --rev left | |
191 2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) | |
192 2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) | |
193 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
194 01241442b3c2-2 (2, 3, 1) [leaf] - | |
195 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
196 2dc09a01254d-3 (3, 4, 1) [leaf] - | |
197 66f7d451a68b-1 (1, 2, 1) [leaf] - | |
198 $ hg debugstablerange --verify --verbose --subranges --rev 'left' > left.range | |
199 $ diff -u left-2.range left.range | |
200 --- left-2.range * (glob) | |
201 +++ left.range * (glob) | |
202 @@ -1,3 +1,7 @@ | |
203 +2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) | |
204 +2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) | |
205 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
206 +01241442b3c2-2 (2, 3, 1) [leaf] - | |
207 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
208 +2dc09a01254d-3 (3, 4, 1) [leaf] - | |
209 66f7d451a68b-1 (1, 2, 1) [leaf] - | |
210 [1] | |
211 | |
212 (right branch) | |
213 | |
214 $ hg debugstablerange --verify --verbose --subranges --rev right~2 | |
215 e7bd5218ca15-0 (4, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), e7bd5218ca15-1 (4, 2, 1) | |
216 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
217 e7bd5218ca15-1 (4, 2, 1) [leaf] - | |
218 $ hg debugstablerange --verify --verbose --subranges --rev 'right~2' > right-2.range | |
219 $ hg debugstablerange --verify --verbose --subranges --rev right | |
220 a2f58e9c1e56-0 (6, 4, 4) [complete] - e7bd5218ca15-0 (4, 2, 2), a2f58e9c1e56-2 (6, 4, 2) | |
221 a2f58e9c1e56-2 (6, 4, 2) [complete] - 3a367db1fabc-2 (5, 3, 1), a2f58e9c1e56-3 (6, 4, 1) | |
222 e7bd5218ca15-0 (4, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), e7bd5218ca15-1 (4, 2, 1) | |
223 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
224 3a367db1fabc-2 (5, 3, 1) [leaf] - | |
225 a2f58e9c1e56-3 (6, 4, 1) [leaf] - | |
226 e7bd5218ca15-1 (4, 2, 1) [leaf] - | |
227 $ hg debugstablerange --verify --verbose --subranges --rev 'right' > right.range | |
228 $ diff -u right-2.range right.range | |
229 --- right-2.range * (glob) | |
230 +++ right.range * (glob) | |
231 @@ -1,3 +1,7 @@ | |
232 +a2f58e9c1e56-0 (6, 4, 4) [complete] - e7bd5218ca15-0 (4, 2, 2), a2f58e9c1e56-2 (6, 4, 2) | |
233 +a2f58e9c1e56-2 (6, 4, 2) [complete] - 3a367db1fabc-2 (5, 3, 1), a2f58e9c1e56-3 (6, 4, 1) | |
234 e7bd5218ca15-0 (4, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), e7bd5218ca15-1 (4, 2, 1) | |
235 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
236 +3a367db1fabc-2 (5, 3, 1) [leaf] - | |
237 +a2f58e9c1e56-3 (6, 4, 1) [leaf] - | |
238 e7bd5218ca15-1 (4, 2, 1) [leaf] - | |
239 [1] | |
240 | |
241 The merge reuse as much of the slicing created for one of the branch | |
242 | |
243 $ hg debugstablerange --verify --verbose --subranges --rev merge | |
244 5f18015f9110-0 (7, 8, 8) [complete] - 2dc09a01254d-0 (3, 4, 4), 5f18015f9110-4 (7, 8, 4) | |
245 2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) | |
246 5f18015f9110-4 (7, 8, 4) [complete] - 3a367db1fabc-1 (5, 3, 2), 5f18015f9110-6 (7, 8, 2) | |
247 2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) | |
248 3a367db1fabc-1 (5, 3, 2) [complete] - e7bd5218ca15-1 (4, 2, 1), 3a367db1fabc-2 (5, 3, 1) | |
249 5f18015f9110-6 (7, 8, 2) [complete] - a2f58e9c1e56-3 (6, 4, 1), 5f18015f9110-7 (7, 8, 1) | |
250 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
251 01241442b3c2-2 (2, 3, 1) [leaf] - | |
252 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
253 2dc09a01254d-3 (3, 4, 1) [leaf] - | |
254 3a367db1fabc-2 (5, 3, 1) [leaf] - | |
255 5f18015f9110-7 (7, 8, 1) [leaf] - | |
256 66f7d451a68b-1 (1, 2, 1) [leaf] - | |
257 a2f58e9c1e56-3 (6, 4, 1) [leaf] - | |
258 e7bd5218ca15-1 (4, 2, 1) [leaf] - | |
259 $ hg debugstablerange --verify --verbose --subranges --rev 'merge' > merge.range | |
260 $ diff -u left.range merge.range | |
261 --- left.range * (glob) | |
262 +++ merge.range * (glob) | |
263 @@ -1,7 +1,15 @@ | |
264 +5f18015f9110-0 (7, 8, 8) [complete] - 2dc09a01254d-0 (3, 4, 4), 5f18015f9110-4 (7, 8, 4) | |
265 2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) | |
266 +5f18015f9110-4 (7, 8, 4) [complete] - 3a367db1fabc-1 (5, 3, 2), 5f18015f9110-6 (7, 8, 2) | |
267 2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) | |
268 +3a367db1fabc-1 (5, 3, 2) [complete] - e7bd5218ca15-1 (4, 2, 1), 3a367db1fabc-2 (5, 3, 1) | |
269 +5f18015f9110-6 (7, 8, 2) [complete] - a2f58e9c1e56-3 (6, 4, 1), 5f18015f9110-7 (7, 8, 1) | |
270 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
271 01241442b3c2-2 (2, 3, 1) [leaf] - | |
272 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
273 2dc09a01254d-3 (3, 4, 1) [leaf] - | |
274 +3a367db1fabc-2 (5, 3, 1) [leaf] - | |
275 +5f18015f9110-7 (7, 8, 1) [leaf] - | |
276 66f7d451a68b-1 (1, 2, 1) [leaf] - | |
277 +a2f58e9c1e56-3 (6, 4, 1) [leaf] - | |
278 +e7bd5218ca15-1 (4, 2, 1) [leaf] - | |
279 [1] | |
280 $ diff -u right.range merge.range | |
281 --- right.range * (glob) | |
282 +++ merge.range * (glob) | |
283 @@ -1,7 +1,15 @@ | |
284 -a2f58e9c1e56-0 (6, 4, 4) [complete] - e7bd5218ca15-0 (4, 2, 2), a2f58e9c1e56-2 (6, 4, 2) | |
285 -a2f58e9c1e56-2 (6, 4, 2) [complete] - 3a367db1fabc-2 (5, 3, 1), a2f58e9c1e56-3 (6, 4, 1) | |
286 -e7bd5218ca15-0 (4, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), e7bd5218ca15-1 (4, 2, 1) | |
287 +5f18015f9110-0 (7, 8, 8) [complete] - 2dc09a01254d-0 (3, 4, 4), 5f18015f9110-4 (7, 8, 4) | |
288 +2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) | |
289 +5f18015f9110-4 (7, 8, 4) [complete] - 3a367db1fabc-1 (5, 3, 2), 5f18015f9110-6 (7, 8, 2) | |
290 +2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) | |
291 +3a367db1fabc-1 (5, 3, 2) [complete] - e7bd5218ca15-1 (4, 2, 1), 3a367db1fabc-2 (5, 3, 1) | |
292 +5f18015f9110-6 (7, 8, 2) [complete] - a2f58e9c1e56-3 (6, 4, 1), 5f18015f9110-7 (7, 8, 1) | |
293 +66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
294 +01241442b3c2-2 (2, 3, 1) [leaf] - | |
295 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
296 +2dc09a01254d-3 (3, 4, 1) [leaf] - | |
297 3a367db1fabc-2 (5, 3, 1) [leaf] - | |
298 +5f18015f9110-7 (7, 8, 1) [leaf] - | |
299 +66f7d451a68b-1 (1, 2, 1) [leaf] - | |
300 a2f58e9c1e56-3 (6, 4, 1) [leaf] - | |
301 e7bd5218ca15-1 (4, 2, 1) [leaf] - | |
302 [1] | |
303 $ cd .. | |
304 | |
305 slice create multiple heads | |
306 --------------------------- | |
307 | |
308 $ hg init repo_merge_split_heads | |
309 $ cd repo_merge_split_heads | |
310 $ hg debugbuilddag '.:base | |
311 > +4:left | |
312 > <base+5:right | |
313 > <left/right:merge | |
314 > +2:head | |
315 > ' | |
316 $ hg debugbuilddag '.:base | |
317 > +3:left | |
318 > <base+3:right | |
319 > <left/right:merge | |
320 > +2:head | |
321 > ' | |
322 abort: repository is not empty | |
323 [255] | |
324 $ hg log -G | |
325 o 12 e6b8d5b46647 r12 head tip | |
326 | | |
327 o 11 485383494a89 r11 | |
328 | | |
329 o 10 8aca7f8c9bd2 r10 merge | |
330 |\ | |
331 | o 9 f4b7da68b467 r9 right | |
332 | | | |
333 | o 8 857477a9aebb r8 | |
334 | | | |
335 | o 7 42b07e8da27d r7 | |
336 | | | |
337 | o 6 b9bc20507e0b r6 | |
338 | | | |
339 | o 5 de561312eff4 r5 | |
340 | | | |
341 o | 4 bebd167eb94d r4 left | |
342 | | | |
343 o | 3 2dc09a01254d r3 | |
344 | | | |
345 o | 2 01241442b3c2 r2 | |
346 | | | |
347 o | 1 66f7d451a68b r1 | |
348 |/ | |
349 o 0 1ea73414a91b r0 base | |
350 | |
351 $ hg debugdepth -r 'all()' | |
352 1ea73414a91b 1 | |
353 66f7d451a68b 2 | |
354 01241442b3c2 3 | |
355 2dc09a01254d 4 | |
356 bebd167eb94d 5 | |
357 de561312eff4 2 | |
358 b9bc20507e0b 3 | |
359 42b07e8da27d 4 | |
360 857477a9aebb 5 | |
361 f4b7da68b467 6 | |
362 8aca7f8c9bd2 11 | |
363 485383494a89 12 | |
364 e6b8d5b46647 13 | |
365 | |
366 Each of the linear branch reuse range internally | |
367 | |
368 (left branch) | |
369 | |
370 $ hg debugstablerange --verify --verbose --subranges --rev 'left~2' | |
371 01241442b3c2-0 (2, 3, 3) [complete] - 66f7d451a68b-0 (1, 2, 2), 01241442b3c2-2 (2, 3, 1) | |
372 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
373 01241442b3c2-2 (2, 3, 1) [leaf] - | |
374 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
375 66f7d451a68b-1 (1, 2, 1) [leaf] - | |
376 $ hg debugstablerange --verify --verbose --subranges --rev 'left~2' > left-2.range | |
377 $ hg debugstablerange --verify --verbose --subranges --rev left | |
378 bebd167eb94d-0 (4, 5, 5) [complete] - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1) | |
379 2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) | |
380 2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) | |
381 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
382 01241442b3c2-2 (2, 3, 1) [leaf] - | |
383 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
384 2dc09a01254d-3 (3, 4, 1) [leaf] - | |
385 66f7d451a68b-1 (1, 2, 1) [leaf] - | |
386 bebd167eb94d-4 (4, 5, 1) [leaf] - | |
387 $ hg debugstablerange --verify --verbose --subranges --rev 'left' > left.range | |
388 $ diff -u left-2.range left.range | |
389 --- left-2.range * (glob) | |
390 +++ left.range * (glob) | |
391 @@ -1,5 +1,9 @@ | |
392 -01241442b3c2-0 (2, 3, 3) [complete] - 66f7d451a68b-0 (1, 2, 2), 01241442b3c2-2 (2, 3, 1) | |
393 +bebd167eb94d-0 (4, 5, 5) [complete] - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1) | |
394 +2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) | |
395 +2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) | |
396 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
397 01241442b3c2-2 (2, 3, 1) [leaf] - | |
398 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
399 +2dc09a01254d-3 (3, 4, 1) [leaf] - | |
400 66f7d451a68b-1 (1, 2, 1) [leaf] - | |
401 +bebd167eb94d-4 (4, 5, 1) [leaf] - | |
402 [1] | |
403 | |
404 (right branch) | |
405 | |
406 $ hg debugstablerange --verify --verbose --subranges --rev right~2 | |
407 42b07e8da27d-0 (7, 4, 4) [complete] - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2) | |
408 42b07e8da27d-2 (7, 4, 2) [complete] - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1) | |
409 de561312eff4-0 (5, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1) | |
410 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
411 42b07e8da27d-3 (7, 4, 1) [leaf] - | |
412 b9bc20507e0b-2 (6, 3, 1) [leaf] - | |
413 de561312eff4-1 (5, 2, 1) [leaf] - | |
414 $ hg debugstablerange --verify --verbose --subranges --rev 'right~2' > right-2.range | |
415 $ hg debugstablerange --verify --verbose --subranges --rev right | |
416 f4b7da68b467-0 (9, 6, 6) [complete] - 42b07e8da27d-0 (7, 4, 4), f4b7da68b467-4 (9, 6, 2) | |
417 42b07e8da27d-0 (7, 4, 4) [complete] - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2) | |
418 42b07e8da27d-2 (7, 4, 2) [complete] - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1) | |
419 de561312eff4-0 (5, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1) | |
420 f4b7da68b467-4 (9, 6, 2) [complete] - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1) | |
421 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
422 42b07e8da27d-3 (7, 4, 1) [leaf] - | |
423 857477a9aebb-4 (8, 5, 1) [leaf] - | |
424 b9bc20507e0b-2 (6, 3, 1) [leaf] - | |
425 de561312eff4-1 (5, 2, 1) [leaf] - | |
426 f4b7da68b467-5 (9, 6, 1) [leaf] - | |
427 $ hg debugstablerange --verify --verbose --subranges --rev 'right' > right.range | |
428 $ diff -u right-2.range right.range | |
429 --- right-2.range * (glob) | |
430 +++ right.range * (glob) | |
431 @@ -1,7 +1,11 @@ | |
432 +f4b7da68b467-0 (9, 6, 6) [complete] - 42b07e8da27d-0 (7, 4, 4), f4b7da68b467-4 (9, 6, 2) | |
433 42b07e8da27d-0 (7, 4, 4) [complete] - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2) | |
434 42b07e8da27d-2 (7, 4, 2) [complete] - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1) | |
435 de561312eff4-0 (5, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1) | |
436 +f4b7da68b467-4 (9, 6, 2) [complete] - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1) | |
437 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
438 42b07e8da27d-3 (7, 4, 1) [leaf] - | |
439 +857477a9aebb-4 (8, 5, 1) [leaf] - | |
440 b9bc20507e0b-2 (6, 3, 1) [leaf] - | |
441 de561312eff4-1 (5, 2, 1) [leaf] - | |
442 +f4b7da68b467-5 (9, 6, 1) [leaf] - | |
443 [1] | |
444 | |
445 In this case, the bottom of the split will have multiple heads, | |
446 | |
447 So we'll create more than 1 subrange out of it. | |
448 | |
449 We are still able to reuse one of the branch however | |
450 | |
451 $ hg debugstablerange --verify --verbose --subranges --rev merge | |
452 8aca7f8c9bd2-0 (10, 11, 11) [complete] - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-1 (7, 4, 3), 8aca7f8c9bd2-8 (10, 11, 3) | |
453 bebd167eb94d-0 (4, 5, 5) [complete] - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1) | |
454 2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) | |
455 42b07e8da27d-1 (7, 4, 3) [complete] - de561312eff4-1 (5, 2, 1), 42b07e8da27d-2 (7, 4, 2) | |
456 8aca7f8c9bd2-8 (10, 11, 3) [complete] - f4b7da68b467-4 (9, 6, 2), 8aca7f8c9bd2-10 (10, 11, 1) | |
457 2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) | |
458 42b07e8da27d-2 (7, 4, 2) [complete] - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1) | |
459 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
460 f4b7da68b467-4 (9, 6, 2) [complete] - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1) | |
461 01241442b3c2-2 (2, 3, 1) [leaf] - | |
462 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
463 2dc09a01254d-3 (3, 4, 1) [leaf] - | |
464 42b07e8da27d-3 (7, 4, 1) [leaf] - | |
465 66f7d451a68b-1 (1, 2, 1) [leaf] - | |
466 857477a9aebb-4 (8, 5, 1) [leaf] - | |
467 8aca7f8c9bd2-10 (10, 11, 1) [leaf] - | |
468 b9bc20507e0b-2 (6, 3, 1) [leaf] - | |
469 bebd167eb94d-4 (4, 5, 1) [leaf] - | |
470 de561312eff4-1 (5, 2, 1) [leaf] - | |
471 f4b7da68b467-5 (9, 6, 1) [leaf] - | |
472 $ hg debugstablerange --verify --verbose --subranges --rev 'merge' > merge.range | |
473 $ diff -u left.range merge.range | |
474 --- left.range * (glob) | |
475 +++ merge.range * (glob) | |
476 @@ -1,9 +1,20 @@ | |
477 +8aca7f8c9bd2-0 (10, 11, 11) [complete] - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-1 (7, 4, 3), 8aca7f8c9bd2-8 (10, 11, 3) | |
478 bebd167eb94d-0 (4, 5, 5) [complete] - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1) | |
479 2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) | |
480 +42b07e8da27d-1 (7, 4, 3) [complete] - de561312eff4-1 (5, 2, 1), 42b07e8da27d-2 (7, 4, 2) | |
481 +8aca7f8c9bd2-8 (10, 11, 3) [complete] - f4b7da68b467-4 (9, 6, 2), 8aca7f8c9bd2-10 (10, 11, 1) | |
482 2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) | |
483 +42b07e8da27d-2 (7, 4, 2) [complete] - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1) | |
484 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
485 +f4b7da68b467-4 (9, 6, 2) [complete] - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1) | |
486 01241442b3c2-2 (2, 3, 1) [leaf] - | |
487 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
488 2dc09a01254d-3 (3, 4, 1) [leaf] - | |
489 +42b07e8da27d-3 (7, 4, 1) [leaf] - | |
490 66f7d451a68b-1 (1, 2, 1) [leaf] - | |
491 +857477a9aebb-4 (8, 5, 1) [leaf] - | |
492 +8aca7f8c9bd2-10 (10, 11, 1) [leaf] - | |
493 +b9bc20507e0b-2 (6, 3, 1) [leaf] - | |
494 bebd167eb94d-4 (4, 5, 1) [leaf] - | |
495 +de561312eff4-1 (5, 2, 1) [leaf] - | |
496 +f4b7da68b467-5 (9, 6, 1) [leaf] - | |
497 [1] | |
498 $ diff -u right.range merge.range | |
499 --- right.range * (glob) | |
500 +++ merge.range * (glob) | |
501 @@ -1,11 +1,20 @@ | |
502 -f4b7da68b467-0 (9, 6, 6) [complete] - 42b07e8da27d-0 (7, 4, 4), f4b7da68b467-4 (9, 6, 2) | |
503 -42b07e8da27d-0 (7, 4, 4) [complete] - de561312eff4-0 (5, 2, 2), 42b07e8da27d-2 (7, 4, 2) | |
504 +8aca7f8c9bd2-0 (10, 11, 11) [complete] - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-1 (7, 4, 3), 8aca7f8c9bd2-8 (10, 11, 3) | |
505 +bebd167eb94d-0 (4, 5, 5) [complete] - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1) | |
506 +2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) | |
507 +42b07e8da27d-1 (7, 4, 3) [complete] - de561312eff4-1 (5, 2, 1), 42b07e8da27d-2 (7, 4, 2) | |
508 +8aca7f8c9bd2-8 (10, 11, 3) [complete] - f4b7da68b467-4 (9, 6, 2), 8aca7f8c9bd2-10 (10, 11, 1) | |
509 +2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) | |
510 42b07e8da27d-2 (7, 4, 2) [complete] - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1) | |
511 -de561312eff4-0 (5, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), de561312eff4-1 (5, 2, 1) | |
512 +66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
513 f4b7da68b467-4 (9, 6, 2) [complete] - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1) | |
514 +01241442b3c2-2 (2, 3, 1) [leaf] - | |
515 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
516 +2dc09a01254d-3 (3, 4, 1) [leaf] - | |
517 42b07e8da27d-3 (7, 4, 1) [leaf] - | |
518 +66f7d451a68b-1 (1, 2, 1) [leaf] - | |
519 857477a9aebb-4 (8, 5, 1) [leaf] - | |
520 +8aca7f8c9bd2-10 (10, 11, 1) [leaf] - | |
521 b9bc20507e0b-2 (6, 3, 1) [leaf] - | |
522 +bebd167eb94d-4 (4, 5, 1) [leaf] - | |
523 de561312eff4-1 (5, 2, 1) [leaf] - | |
524 f4b7da68b467-5 (9, 6, 1) [leaf] - | |
525 [1] | |
526 | |
527 Range above the merge, reuse subrange from the merge | |
528 | |
529 $ hg debugstablerange --verify --verbose --subranges --rev tip | |
530 e6b8d5b46647-0 (12, 13, 13) [complete] - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-1 (7, 4, 3), e6b8d5b46647-8 (12, 13, 5) | |
531 bebd167eb94d-0 (4, 5, 5) [complete] - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1) | |
532 e6b8d5b46647-8 (12, 13, 5) [complete] - 485383494a89-8 (11, 12, 4), e6b8d5b46647-12 (12, 13, 1) | |
533 2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) | |
534 485383494a89-8 (11, 12, 4) [complete] - f4b7da68b467-4 (9, 6, 2), 485383494a89-10 (11, 12, 2) | |
535 42b07e8da27d-1 (7, 4, 3) [complete] - de561312eff4-1 (5, 2, 1), 42b07e8da27d-2 (7, 4, 2) | |
536 2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) | |
537 42b07e8da27d-2 (7, 4, 2) [complete] - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1) | |
538 485383494a89-10 (11, 12, 2) [complete] - 8aca7f8c9bd2-10 (10, 11, 1), 485383494a89-11 (11, 12, 1) | |
539 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
540 f4b7da68b467-4 (9, 6, 2) [complete] - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1) | |
541 01241442b3c2-2 (2, 3, 1) [leaf] - | |
542 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
543 2dc09a01254d-3 (3, 4, 1) [leaf] - | |
544 42b07e8da27d-3 (7, 4, 1) [leaf] - | |
545 485383494a89-11 (11, 12, 1) [leaf] - | |
546 66f7d451a68b-1 (1, 2, 1) [leaf] - | |
547 857477a9aebb-4 (8, 5, 1) [leaf] - | |
548 8aca7f8c9bd2-10 (10, 11, 1) [leaf] - | |
549 b9bc20507e0b-2 (6, 3, 1) [leaf] - | |
550 bebd167eb94d-4 (4, 5, 1) [leaf] - | |
551 de561312eff4-1 (5, 2, 1) [leaf] - | |
552 e6b8d5b46647-12 (12, 13, 1) [leaf] - | |
553 f4b7da68b467-5 (9, 6, 1) [leaf] - | |
554 $ hg debugstablerange --verify --verbose --subranges --rev 'tip' > tip.range | |
555 $ diff -u merge.range tip.range | |
556 --- merge.range * (glob) | |
557 +++ tip.range * (glob) | |
558 @@ -1,20 +1,24 @@ | |
559 -8aca7f8c9bd2-0 (10, 11, 11) [complete] - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-1 (7, 4, 3), 8aca7f8c9bd2-8 (10, 11, 3) | |
560 +e6b8d5b46647-0 (12, 13, 13) [complete] - bebd167eb94d-0 (4, 5, 5), 42b07e8da27d-1 (7, 4, 3), e6b8d5b46647-8 (12, 13, 5) | |
561 bebd167eb94d-0 (4, 5, 5) [complete] - 2dc09a01254d-0 (3, 4, 4), bebd167eb94d-4 (4, 5, 1) | |
562 +e6b8d5b46647-8 (12, 13, 5) [complete] - 485383494a89-8 (11, 12, 4), e6b8d5b46647-12 (12, 13, 1) | |
563 2dc09a01254d-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2dc09a01254d-2 (3, 4, 2) | |
564 +485383494a89-8 (11, 12, 4) [complete] - f4b7da68b467-4 (9, 6, 2), 485383494a89-10 (11, 12, 2) | |
565 42b07e8da27d-1 (7, 4, 3) [complete] - de561312eff4-1 (5, 2, 1), 42b07e8da27d-2 (7, 4, 2) | |
566 -8aca7f8c9bd2-8 (10, 11, 3) [complete] - f4b7da68b467-4 (9, 6, 2), 8aca7f8c9bd2-10 (10, 11, 1) | |
567 2dc09a01254d-2 (3, 4, 2) [complete] - 01241442b3c2-2 (2, 3, 1), 2dc09a01254d-3 (3, 4, 1) | |
568 42b07e8da27d-2 (7, 4, 2) [complete] - b9bc20507e0b-2 (6, 3, 1), 42b07e8da27d-3 (7, 4, 1) | |
569 +485383494a89-10 (11, 12, 2) [complete] - 8aca7f8c9bd2-10 (10, 11, 1), 485383494a89-11 (11, 12, 1) | |
570 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
571 f4b7da68b467-4 (9, 6, 2) [complete] - 857477a9aebb-4 (8, 5, 1), f4b7da68b467-5 (9, 6, 1) | |
572 01241442b3c2-2 (2, 3, 1) [leaf] - | |
573 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
574 2dc09a01254d-3 (3, 4, 1) [leaf] - | |
575 42b07e8da27d-3 (7, 4, 1) [leaf] - | |
576 +485383494a89-11 (11, 12, 1) [leaf] - | |
577 66f7d451a68b-1 (1, 2, 1) [leaf] - | |
578 857477a9aebb-4 (8, 5, 1) [leaf] - | |
579 8aca7f8c9bd2-10 (10, 11, 1) [leaf] - | |
580 b9bc20507e0b-2 (6, 3, 1) [leaf] - | |
581 bebd167eb94d-4 (4, 5, 1) [leaf] - | |
582 de561312eff4-1 (5, 2, 1) [leaf] - | |
583 +e6b8d5b46647-12 (12, 13, 1) [leaf] - | |
584 f4b7da68b467-5 (9, 6, 1) [leaf] - | |
585 [1] | |
586 | |
587 $ cd .. | |
588 | |
589 Tests range with criss cross merge in the graph | |
590 =============================================== | |
591 | |
592 $ hg init repo_criss_cross | |
593 $ cd repo_criss_cross | |
594 $ hg debugbuilddag ' | |
595 > ..:g # 2 nodes, tagged "g" | |
596 > <2.:h # another node base one -2 -> 0, tagged "h" | |
597 > *1/2:m # merge -1 and -2 (1, 2), tagged "m" | |
598 > <2+2:i # 2 nodes based on -2, tag head as "i" | |
599 > .:c # 1 node tagged "c" | |
600 > <m+3:a # 3 nodes base on the "m" tag | |
601 > <2.:b # 1 node based on -2; tagged "b" | |
602 > <m+2:d # 2 nodes from "m" tagged "d" | |
603 > <2.:e # 1 node based on -2, tagged "e" | |
604 > <m+1:f # 1 node based on "m" tagged "f" | |
605 > <i/f # merge "i" and "f" | |
606 > ' | |
607 $ hg log -G | |
608 o 15 1d8d22637c2d r15 tip | |
609 |\ | |
610 | o 14 43227190fef8 r14 f | |
611 | | | |
612 | | o 13 b4594d867745 r13 e | |
613 | | | | |
614 | | | o 12 e46a4836065c r12 d | |
615 | | |/ | |
616 | | o 11 bab5d5bf48bd r11 | |
617 | |/ | |
618 | | o 10 ff43616e5d0f r10 b | |
619 | | | | |
620 | | | o 9 dcbb326fdec2 r9 a | |
621 | | |/ | |
622 | | o 8 d62d843c9a01 r8 | |
623 | | | | |
624 | | o 7 e7d9710d9fc6 r7 | |
625 | |/ | |
626 +---o 6 2702dd0c91e7 r6 c | |
627 | | | |
628 o | 5 f0f3ef9a6cd5 r5 i | |
629 | | | |
630 o | 4 4c748ffd1a46 r4 | |
631 | | | |
632 | o 3 2b6d669947cd r3 m | |
633 |/| | |
634 o | 2 fa942426a6fd r2 h | |
635 | | | |
636 | o 1 66f7d451a68b r1 g | |
637 |/ | |
638 o 0 1ea73414a91b r0 | |
639 | |
640 $ hg debugdepth -r 'all()' | |
641 1ea73414a91b 1 | |
642 66f7d451a68b 2 | |
643 fa942426a6fd 2 | |
644 2b6d669947cd 4 | |
645 4c748ffd1a46 3 | |
646 f0f3ef9a6cd5 4 | |
647 2702dd0c91e7 5 | |
648 e7d9710d9fc6 5 | |
649 d62d843c9a01 6 | |
650 dcbb326fdec2 7 | |
651 ff43616e5d0f 7 | |
652 bab5d5bf48bd 5 | |
653 e46a4836065c 6 | |
654 b4594d867745 6 | |
655 43227190fef8 5 | |
656 1d8d22637c2d 8 | |
657 $ hg debugstablerange --verify --verbose --subranges --rev 'head()' | |
658 1d8d22637c2d-0 (15, 8, 8) [complete] - 2b6d669947cd-0 (3, 4, 4), 1d8d22637c2d-4 (15, 8, 4) | |
659 dcbb326fdec2-0 (9, 7, 7) [complete] - 2b6d669947cd-0 (3, 4, 4), dcbb326fdec2-4 (9, 7, 3) | |
660 ff43616e5d0f-0 (10, 7, 7) [complete] - 2b6d669947cd-0 (3, 4, 4), ff43616e5d0f-4 (10, 7, 3) | |
661 b4594d867745-0 (13, 6, 6) [complete] - 2b6d669947cd-0 (3, 4, 4), b4594d867745-4 (13, 6, 2) | |
662 e46a4836065c-0 (12, 6, 6) [complete] - 2b6d669947cd-0 (3, 4, 4), e46a4836065c-4 (12, 6, 2) | |
663 2702dd0c91e7-0 (6, 5, 5) [complete] - f0f3ef9a6cd5-0 (5, 4, 4), 2702dd0c91e7-4 (6, 5, 1) | |
664 1d8d22637c2d-4 (15, 8, 4) [complete] - 43227190fef8-4 (14, 5, 1), 4c748ffd1a46-2 (4, 3, 1), 1d8d22637c2d-6 (15, 8, 2) | |
665 2b6d669947cd-0 (3, 4, 4) [complete] - 66f7d451a68b-0 (1, 2, 2), 2b6d669947cd-2 (3, 4, 2) | |
666 f0f3ef9a6cd5-0 (5, 4, 4) [complete] - fa942426a6fd-0 (2, 2, 2), f0f3ef9a6cd5-2 (5, 4, 2) | |
667 dcbb326fdec2-4 (9, 7, 3) [complete] - d62d843c9a01-4 (8, 6, 2), dcbb326fdec2-6 (9, 7, 1) | |
668 ff43616e5d0f-4 (10, 7, 3) [complete] - d62d843c9a01-4 (8, 6, 2), ff43616e5d0f-6 (10, 7, 1) | |
669 1d8d22637c2d-6 (15, 8, 2) [complete] - f0f3ef9a6cd5-3 (5, 4, 1), 1d8d22637c2d-7 (15, 8, 1) | |
670 2b6d669947cd-2 (3, 4, 2) [complete] - fa942426a6fd-1 (2, 2, 1), 2b6d669947cd-3 (3, 4, 1) | |
671 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
672 b4594d867745-4 (13, 6, 2) [complete] - bab5d5bf48bd-4 (11, 5, 1), b4594d867745-5 (13, 6, 1) | |
673 d62d843c9a01-4 (8, 6, 2) [complete] - e7d9710d9fc6-4 (7, 5, 1), d62d843c9a01-5 (8, 6, 1) | |
674 e46a4836065c-4 (12, 6, 2) [complete] - bab5d5bf48bd-4 (11, 5, 1), e46a4836065c-5 (12, 6, 1) | |
675 f0f3ef9a6cd5-2 (5, 4, 2) [complete] - 4c748ffd1a46-2 (4, 3, 1), f0f3ef9a6cd5-3 (5, 4, 1) | |
676 fa942426a6fd-0 (2, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), fa942426a6fd-1 (2, 2, 1) | |
677 1d8d22637c2d-7 (15, 8, 1) [leaf] - | |
678 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
679 2702dd0c91e7-4 (6, 5, 1) [leaf] - | |
680 2b6d669947cd-3 (3, 4, 1) [leaf] - | |
681 43227190fef8-4 (14, 5, 1) [leaf] - | |
682 4c748ffd1a46-2 (4, 3, 1) [leaf] - | |
683 66f7d451a68b-1 (1, 2, 1) [leaf] - | |
684 b4594d867745-5 (13, 6, 1) [leaf] - | |
685 bab5d5bf48bd-4 (11, 5, 1) [leaf] - | |
686 d62d843c9a01-5 (8, 6, 1) [leaf] - | |
687 dcbb326fdec2-6 (9, 7, 1) [leaf] - | |
688 e46a4836065c-5 (12, 6, 1) [leaf] - | |
689 e7d9710d9fc6-4 (7, 5, 1) [leaf] - | |
690 f0f3ef9a6cd5-3 (5, 4, 1) [leaf] - | |
691 fa942426a6fd-1 (2, 2, 1) [leaf] - | |
692 ff43616e5d0f-6 (10, 7, 1) [leaf] - | |
693 $ cd .. | |
694 | |
695 Tests range where a toprange is rooted on a merge | |
696 ================================================= | |
697 | |
698 $ hg init slice_on_merge | |
699 $ cd slice_on_merge | |
700 $ hg debugbuilddag ' | |
701 > ..:a # 2 nodes, tagged "a" | |
702 > <2..:b # another branch with two node based on 0, tagged b | |
703 > *a/b:m # merge -1 and -2 (1, 2), tagged "m" | |
704 > ' | |
705 $ hg log -G | |
706 o 4 f37e476fba9a r4 m tip | |
707 |\ | |
708 | o 3 36315563e2fa r3 b | |
709 | | | |
710 | o 2 fa942426a6fd r2 | |
711 | | | |
712 o | 1 66f7d451a68b r1 a | |
713 |/ | |
714 o 0 1ea73414a91b r0 | |
715 | |
716 $ hg debugdepth -r 'all()' | |
717 1ea73414a91b 1 | |
718 66f7d451a68b 2 | |
719 fa942426a6fd 2 | |
720 36315563e2fa 3 | |
721 f37e476fba9a 5 | |
722 $ hg debugstablerange --verify --verbose --subranges --rev 'head()' | |
723 f37e476fba9a-0 (4, 5, 5) [complete] - 66f7d451a68b-0 (1, 2, 2), 36315563e2fa-1 (3, 3, 2), f37e476fba9a-4 (4, 5, 1) | |
724 36315563e2fa-1 (3, 3, 2) [complete] - fa942426a6fd-1 (2, 2, 1), 36315563e2fa-2 (3, 3, 1) | |
725 66f7d451a68b-0 (1, 2, 2) [complete] - 1ea73414a91b-0 (0, 1, 1), 66f7d451a68b-1 (1, 2, 1) | |
726 1ea73414a91b-0 (0, 1, 1) [leaf] - | |
727 36315563e2fa-2 (3, 3, 1) [leaf] - | |
728 66f7d451a68b-1 (1, 2, 1) [leaf] - | |
729 f37e476fba9a-4 (4, 5, 1) [leaf] - | |
730 fa942426a6fd-1 (2, 2, 1) [leaf] - | |
731 |