|
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 |