##// END OF EJS Templates
tests: split long templates that use {whyunstable} and put them in hgrc
av6 -
r37724:04b89360 default
parent child Browse files
Show More
@@ -1,751 +1,756 b''
1 Test file dedicated to testing the divergent troubles from obsolete changeset.
1 Test file dedicated to testing the divergent troubles from obsolete changeset.
2
2
3 This is the most complex troubles from far so we isolate it in a dedicated
3 This is the most complex troubles from far so we isolate it in a dedicated
4 file.
4 file.
5
5
6 Enable obsolete
6 Enable obsolete
7
7
8 $ cat >> $HGRCPATH << EOF
8 $ cat >> $HGRCPATH << EOF
9 > [ui]
9 > [ui]
10 > logtemplate = {rev}:{node|short} {desc}{if(obsfate, " [{join(obsfate, "; ")}]")}\n
10 > logtemplate = {rev}:{node|short} {desc}{if(obsfate, " [{join(obsfate, "; ")}]")}\n
11 > [experimental]
11 > [experimental]
12 > evolution.createmarkers=True
12 > evolution.createmarkers=True
13 > [extensions]
13 > [extensions]
14 > drawdag=$TESTDIR/drawdag.py
14 > drawdag=$TESTDIR/drawdag.py
15 > [alias]
15 > [alias]
16 > debugobsolete = debugobsolete -d '0 0'
16 > debugobsolete = debugobsolete -d '0 0'
17 > [phases]
17 > [phases]
18 > publish=False
18 > publish=False
19 > [templates]
20 > wuentryshort = '{instability}:{divergentnodes} {reason} {node|shortest}\n'
21 > whyunstableshort = '{whyunstable % wuentryshort}'
22 > wuentryshorter = '{instability}:{divergentnodes % " {node|shortest} ({phase})"} {reason} {node|shortest}\n'
23 > whyunstableshorter = '{whyunstable % wuentryshorter}'
19 > EOF
24 > EOF
20
25
21
26
22 $ mkcommit() {
27 $ mkcommit() {
23 > echo "$1" > "$1"
28 > echo "$1" > "$1"
24 > hg add "$1"
29 > hg add "$1"
25 > hg ci -m "$1"
30 > hg ci -m "$1"
26 > }
31 > }
27 $ getid() {
32 $ getid() {
28 > hg log --hidden -r "desc('$1')" -T '{node}\n'
33 > hg log --hidden -r "desc('$1')" -T '{node}\n'
29 > }
34 > }
30
35
31 setup repo
36 setup repo
32
37
33 $ hg init reference
38 $ hg init reference
34 $ cd reference
39 $ cd reference
35 $ mkcommit base
40 $ mkcommit base
36 $ mkcommit A_0
41 $ mkcommit A_0
37 $ hg up 0
42 $ hg up 0
38 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
43 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
39 $ mkcommit A_1
44 $ mkcommit A_1
40 created new head
45 created new head
41 $ hg up 0
46 $ hg up 0
42 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
47 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
43 $ mkcommit A_2
48 $ mkcommit A_2
44 created new head
49 created new head
45 $ hg up 0
50 $ hg up 0
46 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
51 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
47 $ cd ..
52 $ cd ..
48
53
49
54
50 $ newcase() {
55 $ newcase() {
51 > hg clone -u 0 -q reference $1
56 > hg clone -u 0 -q reference $1
52 > cd $1
57 > cd $1
53 > }
58 > }
54
59
55 direct divergence
60 direct divergence
56 -----------------
61 -----------------
57
62
58 A_1 have two direct and divergent successors A_1 and A_1
63 A_1 have two direct and divergent successors A_1 and A_1
59
64
60 $ newcase direct
65 $ newcase direct
61 $ hg debugobsolete `getid A_0` `getid A_1`
66 $ hg debugobsolete `getid A_0` `getid A_1`
62 obsoleted 1 changesets
67 obsoleted 1 changesets
63 $ hg debugobsolete `getid A_0` `getid A_2`
68 $ hg debugobsolete `getid A_0` `getid A_2`
64 2 new content-divergent changesets
69 2 new content-divergent changesets
65 $ hg log -G --hidden
70 $ hg log -G --hidden
66 * 3:392fd25390da A_2
71 * 3:392fd25390da A_2
67 |
72 |
68 | * 2:82623d38b9ba A_1
73 | * 2:82623d38b9ba A_1
69 |/
74 |/
70 | x 1:007dc284c1f8 A_0 [rewritten as 2:82623d38b9ba; rewritten as 3:392fd25390da]
75 | x 1:007dc284c1f8 A_0 [rewritten as 2:82623d38b9ba; rewritten as 3:392fd25390da]
71 |/
76 |/
72 @ 0:d20a80d4def3 base
77 @ 0:d20a80d4def3 base
73
78
74 $ hg debugsuccessorssets --hidden 'all()'
79 $ hg debugsuccessorssets --hidden 'all()'
75 d20a80d4def3
80 d20a80d4def3
76 d20a80d4def3
81 d20a80d4def3
77 007dc284c1f8
82 007dc284c1f8
78 82623d38b9ba
83 82623d38b9ba
79 392fd25390da
84 392fd25390da
80 82623d38b9ba
85 82623d38b9ba
81 82623d38b9ba
86 82623d38b9ba
82 392fd25390da
87 392fd25390da
83 392fd25390da
88 392fd25390da
84 $ hg log -r 'contentdivergent()'
89 $ hg log -r 'contentdivergent()'
85 2:82623d38b9ba A_1
90 2:82623d38b9ba A_1
86 3:392fd25390da A_2
91 3:392fd25390da A_2
87 $ hg debugsuccessorssets 'all()' --closest
92 $ hg debugsuccessorssets 'all()' --closest
88 d20a80d4def3
93 d20a80d4def3
89 d20a80d4def3
94 d20a80d4def3
90 82623d38b9ba
95 82623d38b9ba
91 82623d38b9ba
96 82623d38b9ba
92 392fd25390da
97 392fd25390da
93 392fd25390da
98 392fd25390da
94 $ hg debugsuccessorssets 'all()' --closest --hidden
99 $ hg debugsuccessorssets 'all()' --closest --hidden
95 d20a80d4def3
100 d20a80d4def3
96 d20a80d4def3
101 d20a80d4def3
97 007dc284c1f8
102 007dc284c1f8
98 82623d38b9ba
103 82623d38b9ba
99 392fd25390da
104 392fd25390da
100 82623d38b9ba
105 82623d38b9ba
101 82623d38b9ba
106 82623d38b9ba
102 392fd25390da
107 392fd25390da
103 392fd25390da
108 392fd25390da
104
109
105 check that mercurial refuse to push
110 check that mercurial refuse to push
106
111
107 $ hg init ../other
112 $ hg init ../other
108 $ hg push ../other
113 $ hg push ../other
109 pushing to ../other
114 pushing to ../other
110 searching for changes
115 searching for changes
111 abort: push includes content-divergent changeset: 392fd25390da!
116 abort: push includes content-divergent changeset: 392fd25390da!
112 [255]
117 [255]
113
118
114 $ cd ..
119 $ cd ..
115
120
116
121
117 indirect divergence with known changeset
122 indirect divergence with known changeset
118 -------------------------------------------
123 -------------------------------------------
119
124
120 $ newcase indirect_known
125 $ newcase indirect_known
121 $ hg debugobsolete `getid A_0` `getid A_1`
126 $ hg debugobsolete `getid A_0` `getid A_1`
122 obsoleted 1 changesets
127 obsoleted 1 changesets
123 $ hg debugobsolete `getid A_0` `getid A_2`
128 $ hg debugobsolete `getid A_0` `getid A_2`
124 2 new content-divergent changesets
129 2 new content-divergent changesets
125 $ mkcommit A_3
130 $ mkcommit A_3
126 created new head
131 created new head
127 $ hg debugobsolete `getid A_2` `getid A_3`
132 $ hg debugobsolete `getid A_2` `getid A_3`
128 obsoleted 1 changesets
133 obsoleted 1 changesets
129 $ hg log -G --hidden
134 $ hg log -G --hidden
130 @ 4:01f36c5a8fda A_3
135 @ 4:01f36c5a8fda A_3
131 |
136 |
132 | x 3:392fd25390da A_2 [rewritten as 4:01f36c5a8fda]
137 | x 3:392fd25390da A_2 [rewritten as 4:01f36c5a8fda]
133 |/
138 |/
134 | * 2:82623d38b9ba A_1
139 | * 2:82623d38b9ba A_1
135 |/
140 |/
136 | x 1:007dc284c1f8 A_0 [rewritten as 2:82623d38b9ba; rewritten as 3:392fd25390da]
141 | x 1:007dc284c1f8 A_0 [rewritten as 2:82623d38b9ba; rewritten as 3:392fd25390da]
137 |/
142 |/
138 o 0:d20a80d4def3 base
143 o 0:d20a80d4def3 base
139
144
140 $ hg debugsuccessorssets --hidden 'all()'
145 $ hg debugsuccessorssets --hidden 'all()'
141 d20a80d4def3
146 d20a80d4def3
142 d20a80d4def3
147 d20a80d4def3
143 007dc284c1f8
148 007dc284c1f8
144 82623d38b9ba
149 82623d38b9ba
145 01f36c5a8fda
150 01f36c5a8fda
146 82623d38b9ba
151 82623d38b9ba
147 82623d38b9ba
152 82623d38b9ba
148 392fd25390da
153 392fd25390da
149 01f36c5a8fda
154 01f36c5a8fda
150 01f36c5a8fda
155 01f36c5a8fda
151 01f36c5a8fda
156 01f36c5a8fda
152 $ hg log -r 'contentdivergent()'
157 $ hg log -r 'contentdivergent()'
153 2:82623d38b9ba A_1
158 2:82623d38b9ba A_1
154 4:01f36c5a8fda A_3
159 4:01f36c5a8fda A_3
155 $ hg debugsuccessorssets 'all()' --closest
160 $ hg debugsuccessorssets 'all()' --closest
156 d20a80d4def3
161 d20a80d4def3
157 d20a80d4def3
162 d20a80d4def3
158 82623d38b9ba
163 82623d38b9ba
159 82623d38b9ba
164 82623d38b9ba
160 01f36c5a8fda
165 01f36c5a8fda
161 01f36c5a8fda
166 01f36c5a8fda
162 $ hg debugsuccessorssets 'all()' --closest --hidden
167 $ hg debugsuccessorssets 'all()' --closest --hidden
163 d20a80d4def3
168 d20a80d4def3
164 d20a80d4def3
169 d20a80d4def3
165 007dc284c1f8
170 007dc284c1f8
166 82623d38b9ba
171 82623d38b9ba
167 392fd25390da
172 392fd25390da
168 82623d38b9ba
173 82623d38b9ba
169 82623d38b9ba
174 82623d38b9ba
170 392fd25390da
175 392fd25390da
171 392fd25390da
176 392fd25390da
172 01f36c5a8fda
177 01f36c5a8fda
173 01f36c5a8fda
178 01f36c5a8fda
174 $ cd ..
179 $ cd ..
175
180
176
181
177 indirect divergence with known changeset
182 indirect divergence with known changeset
178 -------------------------------------------
183 -------------------------------------------
179
184
180 $ newcase indirect_unknown
185 $ newcase indirect_unknown
181 $ hg debugobsolete `getid A_0` aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
186 $ hg debugobsolete `getid A_0` aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
182 obsoleted 1 changesets
187 obsoleted 1 changesets
183 $ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa `getid A_1`
188 $ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa `getid A_1`
184 $ hg debugobsolete `getid A_0` `getid A_2`
189 $ hg debugobsolete `getid A_0` `getid A_2`
185 2 new content-divergent changesets
190 2 new content-divergent changesets
186 $ hg log -G --hidden
191 $ hg log -G --hidden
187 * 3:392fd25390da A_2
192 * 3:392fd25390da A_2
188 |
193 |
189 | * 2:82623d38b9ba A_1
194 | * 2:82623d38b9ba A_1
190 |/
195 |/
191 | x 1:007dc284c1f8 A_0 [rewritten as 2:82623d38b9ba; rewritten as 3:392fd25390da]
196 | x 1:007dc284c1f8 A_0 [rewritten as 2:82623d38b9ba; rewritten as 3:392fd25390da]
192 |/
197 |/
193 @ 0:d20a80d4def3 base
198 @ 0:d20a80d4def3 base
194
199
195 $ hg debugsuccessorssets --hidden 'all()'
200 $ hg debugsuccessorssets --hidden 'all()'
196 d20a80d4def3
201 d20a80d4def3
197 d20a80d4def3
202 d20a80d4def3
198 007dc284c1f8
203 007dc284c1f8
199 82623d38b9ba
204 82623d38b9ba
200 392fd25390da
205 392fd25390da
201 82623d38b9ba
206 82623d38b9ba
202 82623d38b9ba
207 82623d38b9ba
203 392fd25390da
208 392fd25390da
204 392fd25390da
209 392fd25390da
205 $ hg log -r 'contentdivergent()'
210 $ hg log -r 'contentdivergent()'
206 2:82623d38b9ba A_1
211 2:82623d38b9ba A_1
207 3:392fd25390da A_2
212 3:392fd25390da A_2
208 $ hg debugsuccessorssets 'all()' --closest
213 $ hg debugsuccessorssets 'all()' --closest
209 d20a80d4def3
214 d20a80d4def3
210 d20a80d4def3
215 d20a80d4def3
211 82623d38b9ba
216 82623d38b9ba
212 82623d38b9ba
217 82623d38b9ba
213 392fd25390da
218 392fd25390da
214 392fd25390da
219 392fd25390da
215 $ hg debugsuccessorssets 'all()' --closest --hidden
220 $ hg debugsuccessorssets 'all()' --closest --hidden
216 d20a80d4def3
221 d20a80d4def3
217 d20a80d4def3
222 d20a80d4def3
218 007dc284c1f8
223 007dc284c1f8
219 82623d38b9ba
224 82623d38b9ba
220 392fd25390da
225 392fd25390da
221 82623d38b9ba
226 82623d38b9ba
222 82623d38b9ba
227 82623d38b9ba
223 392fd25390da
228 392fd25390da
224 392fd25390da
229 392fd25390da
225 $ cd ..
230 $ cd ..
226
231
227 do not take unknown node in account if they are final
232 do not take unknown node in account if they are final
228 -----------------------------------------------------
233 -----------------------------------------------------
229
234
230 $ newcase final-unknown
235 $ newcase final-unknown
231 $ hg debugobsolete `getid A_0` `getid A_1`
236 $ hg debugobsolete `getid A_0` `getid A_1`
232 obsoleted 1 changesets
237 obsoleted 1 changesets
233 $ hg debugobsolete `getid A_1` `getid A_2`
238 $ hg debugobsolete `getid A_1` `getid A_2`
234 obsoleted 1 changesets
239 obsoleted 1 changesets
235 $ hg debugobsolete `getid A_0` bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
240 $ hg debugobsolete `getid A_0` bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
236 $ hg debugobsolete bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb cccccccccccccccccccccccccccccccccccccccc
241 $ hg debugobsolete bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb cccccccccccccccccccccccccccccccccccccccc
237 $ hg debugobsolete `getid A_1` dddddddddddddddddddddddddddddddddddddddd
242 $ hg debugobsolete `getid A_1` dddddddddddddddddddddddddddddddddddddddd
238
243
239 $ hg debugsuccessorssets --hidden 'desc('A_0')'
244 $ hg debugsuccessorssets --hidden 'desc('A_0')'
240 007dc284c1f8
245 007dc284c1f8
241 392fd25390da
246 392fd25390da
242 $ hg debugsuccessorssets 'desc('A_0')' --closest
247 $ hg debugsuccessorssets 'desc('A_0')' --closest
243 $ hg debugsuccessorssets 'desc('A_0')' --closest --hidden
248 $ hg debugsuccessorssets 'desc('A_0')' --closest --hidden
244 007dc284c1f8
249 007dc284c1f8
245 82623d38b9ba
250 82623d38b9ba
246
251
247 $ cd ..
252 $ cd ..
248
253
249 divergence that converge again is not divergence anymore
254 divergence that converge again is not divergence anymore
250 -----------------------------------------------------
255 -----------------------------------------------------
251
256
252 $ newcase converged_divergence
257 $ newcase converged_divergence
253 $ hg debugobsolete `getid A_0` `getid A_1`
258 $ hg debugobsolete `getid A_0` `getid A_1`
254 obsoleted 1 changesets
259 obsoleted 1 changesets
255 $ hg debugobsolete `getid A_0` `getid A_2`
260 $ hg debugobsolete `getid A_0` `getid A_2`
256 2 new content-divergent changesets
261 2 new content-divergent changesets
257 $ mkcommit A_3
262 $ mkcommit A_3
258 created new head
263 created new head
259 $ hg debugobsolete `getid A_1` `getid A_3`
264 $ hg debugobsolete `getid A_1` `getid A_3`
260 obsoleted 1 changesets
265 obsoleted 1 changesets
261 $ hg debugobsolete `getid A_2` `getid A_3`
266 $ hg debugobsolete `getid A_2` `getid A_3`
262 obsoleted 1 changesets
267 obsoleted 1 changesets
263 $ hg log -G --hidden
268 $ hg log -G --hidden
264 @ 4:01f36c5a8fda A_3
269 @ 4:01f36c5a8fda A_3
265 |
270 |
266 | x 3:392fd25390da A_2 [rewritten as 4:01f36c5a8fda]
271 | x 3:392fd25390da A_2 [rewritten as 4:01f36c5a8fda]
267 |/
272 |/
268 | x 2:82623d38b9ba A_1 [rewritten as 4:01f36c5a8fda]
273 | x 2:82623d38b9ba A_1 [rewritten as 4:01f36c5a8fda]
269 |/
274 |/
270 | x 1:007dc284c1f8 A_0 [rewritten as 2:82623d38b9ba; rewritten as 3:392fd25390da]
275 | x 1:007dc284c1f8 A_0 [rewritten as 2:82623d38b9ba; rewritten as 3:392fd25390da]
271 |/
276 |/
272 o 0:d20a80d4def3 base
277 o 0:d20a80d4def3 base
273
278
274 $ hg debugsuccessorssets --hidden 'all()'
279 $ hg debugsuccessorssets --hidden 'all()'
275 d20a80d4def3
280 d20a80d4def3
276 d20a80d4def3
281 d20a80d4def3
277 007dc284c1f8
282 007dc284c1f8
278 01f36c5a8fda
283 01f36c5a8fda
279 82623d38b9ba
284 82623d38b9ba
280 01f36c5a8fda
285 01f36c5a8fda
281 392fd25390da
286 392fd25390da
282 01f36c5a8fda
287 01f36c5a8fda
283 01f36c5a8fda
288 01f36c5a8fda
284 01f36c5a8fda
289 01f36c5a8fda
285 $ hg log -r 'contentdivergent()'
290 $ hg log -r 'contentdivergent()'
286 $ hg debugsuccessorssets 'all()' --closest
291 $ hg debugsuccessorssets 'all()' --closest
287 d20a80d4def3
292 d20a80d4def3
288 d20a80d4def3
293 d20a80d4def3
289 01f36c5a8fda
294 01f36c5a8fda
290 01f36c5a8fda
295 01f36c5a8fda
291 $ hg debugsuccessorssets 'all()' --closest --hidden
296 $ hg debugsuccessorssets 'all()' --closest --hidden
292 d20a80d4def3
297 d20a80d4def3
293 d20a80d4def3
298 d20a80d4def3
294 007dc284c1f8
299 007dc284c1f8
295 82623d38b9ba
300 82623d38b9ba
296 392fd25390da
301 392fd25390da
297 82623d38b9ba
302 82623d38b9ba
298 82623d38b9ba
303 82623d38b9ba
299 392fd25390da
304 392fd25390da
300 392fd25390da
305 392fd25390da
301 01f36c5a8fda
306 01f36c5a8fda
302 01f36c5a8fda
307 01f36c5a8fda
303 $ cd ..
308 $ cd ..
304
309
305 split is not divergences
310 split is not divergences
306 -----------------------------
311 -----------------------------
307
312
308 $ newcase split
313 $ newcase split
309 $ hg debugobsolete `getid A_0` `getid A_1` `getid A_2`
314 $ hg debugobsolete `getid A_0` `getid A_1` `getid A_2`
310 obsoleted 1 changesets
315 obsoleted 1 changesets
311 $ hg log -G --hidden
316 $ hg log -G --hidden
312 o 3:392fd25390da A_2
317 o 3:392fd25390da A_2
313 |
318 |
314 | o 2:82623d38b9ba A_1
319 | o 2:82623d38b9ba A_1
315 |/
320 |/
316 | x 1:007dc284c1f8 A_0 [split as 2:82623d38b9ba, 3:392fd25390da]
321 | x 1:007dc284c1f8 A_0 [split as 2:82623d38b9ba, 3:392fd25390da]
317 |/
322 |/
318 @ 0:d20a80d4def3 base
323 @ 0:d20a80d4def3 base
319
324
320 $ hg debugsuccessorssets --hidden 'all()'
325 $ hg debugsuccessorssets --hidden 'all()'
321 d20a80d4def3
326 d20a80d4def3
322 d20a80d4def3
327 d20a80d4def3
323 007dc284c1f8
328 007dc284c1f8
324 82623d38b9ba 392fd25390da
329 82623d38b9ba 392fd25390da
325 82623d38b9ba
330 82623d38b9ba
326 82623d38b9ba
331 82623d38b9ba
327 392fd25390da
332 392fd25390da
328 392fd25390da
333 392fd25390da
329 $ hg log -r 'contentdivergent()'
334 $ hg log -r 'contentdivergent()'
330 $ hg debugsuccessorssets 'all()' --closest
335 $ hg debugsuccessorssets 'all()' --closest
331 d20a80d4def3
336 d20a80d4def3
332 d20a80d4def3
337 d20a80d4def3
333 82623d38b9ba
338 82623d38b9ba
334 82623d38b9ba
339 82623d38b9ba
335 392fd25390da
340 392fd25390da
336 392fd25390da
341 392fd25390da
337 $ hg debugsuccessorssets 'all()' --closest --hidden
342 $ hg debugsuccessorssets 'all()' --closest --hidden
338 d20a80d4def3
343 d20a80d4def3
339 d20a80d4def3
344 d20a80d4def3
340 007dc284c1f8
345 007dc284c1f8
341 82623d38b9ba 392fd25390da
346 82623d38b9ba 392fd25390da
342 82623d38b9ba
347 82623d38b9ba
343 82623d38b9ba
348 82623d38b9ba
344 392fd25390da
349 392fd25390da
345 392fd25390da
350 392fd25390da
346
351
347 Even when subsequent rewriting happen
352 Even when subsequent rewriting happen
348
353
349 $ mkcommit A_3
354 $ mkcommit A_3
350 created new head
355 created new head
351 $ hg debugobsolete `getid A_1` `getid A_3`
356 $ hg debugobsolete `getid A_1` `getid A_3`
352 obsoleted 1 changesets
357 obsoleted 1 changesets
353 $ hg up 0
358 $ hg up 0
354 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
359 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
355 $ mkcommit A_4
360 $ mkcommit A_4
356 created new head
361 created new head
357 $ hg debugobsolete `getid A_2` `getid A_4`
362 $ hg debugobsolete `getid A_2` `getid A_4`
358 obsoleted 1 changesets
363 obsoleted 1 changesets
359 $ hg up 0
364 $ hg up 0
360 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
365 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
361 $ mkcommit A_5
366 $ mkcommit A_5
362 created new head
367 created new head
363 $ hg debugobsolete `getid A_4` `getid A_5`
368 $ hg debugobsolete `getid A_4` `getid A_5`
364 obsoleted 1 changesets
369 obsoleted 1 changesets
365 $ hg log -G --hidden
370 $ hg log -G --hidden
366 @ 6:e442cfc57690 A_5
371 @ 6:e442cfc57690 A_5
367 |
372 |
368 | x 5:6a411f0d7a0a A_4 [rewritten as 6:e442cfc57690]
373 | x 5:6a411f0d7a0a A_4 [rewritten as 6:e442cfc57690]
369 |/
374 |/
370 | o 4:01f36c5a8fda A_3
375 | o 4:01f36c5a8fda A_3
371 |/
376 |/
372 | x 3:392fd25390da A_2 [rewritten as 5:6a411f0d7a0a]
377 | x 3:392fd25390da A_2 [rewritten as 5:6a411f0d7a0a]
373 |/
378 |/
374 | x 2:82623d38b9ba A_1 [rewritten as 4:01f36c5a8fda]
379 | x 2:82623d38b9ba A_1 [rewritten as 4:01f36c5a8fda]
375 |/
380 |/
376 | x 1:007dc284c1f8 A_0 [split as 2:82623d38b9ba, 3:392fd25390da]
381 | x 1:007dc284c1f8 A_0 [split as 2:82623d38b9ba, 3:392fd25390da]
377 |/
382 |/
378 o 0:d20a80d4def3 base
383 o 0:d20a80d4def3 base
379
384
380 $ hg debugsuccessorssets --hidden 'all()'
385 $ hg debugsuccessorssets --hidden 'all()'
381 d20a80d4def3
386 d20a80d4def3
382 d20a80d4def3
387 d20a80d4def3
383 007dc284c1f8
388 007dc284c1f8
384 01f36c5a8fda e442cfc57690
389 01f36c5a8fda e442cfc57690
385 82623d38b9ba
390 82623d38b9ba
386 01f36c5a8fda
391 01f36c5a8fda
387 392fd25390da
392 392fd25390da
388 e442cfc57690
393 e442cfc57690
389 01f36c5a8fda
394 01f36c5a8fda
390 01f36c5a8fda
395 01f36c5a8fda
391 6a411f0d7a0a
396 6a411f0d7a0a
392 e442cfc57690
397 e442cfc57690
393 e442cfc57690
398 e442cfc57690
394 e442cfc57690
399 e442cfc57690
395 $ hg debugsuccessorssets 'all()' --closest
400 $ hg debugsuccessorssets 'all()' --closest
396 d20a80d4def3
401 d20a80d4def3
397 d20a80d4def3
402 d20a80d4def3
398 01f36c5a8fda
403 01f36c5a8fda
399 01f36c5a8fda
404 01f36c5a8fda
400 e442cfc57690
405 e442cfc57690
401 e442cfc57690
406 e442cfc57690
402 $ hg debugsuccessorssets 'all()' --closest --hidden
407 $ hg debugsuccessorssets 'all()' --closest --hidden
403 d20a80d4def3
408 d20a80d4def3
404 d20a80d4def3
409 d20a80d4def3
405 007dc284c1f8
410 007dc284c1f8
406 82623d38b9ba 392fd25390da
411 82623d38b9ba 392fd25390da
407 82623d38b9ba
412 82623d38b9ba
408 82623d38b9ba
413 82623d38b9ba
409 392fd25390da
414 392fd25390da
410 392fd25390da
415 392fd25390da
411 01f36c5a8fda
416 01f36c5a8fda
412 01f36c5a8fda
417 01f36c5a8fda
413 6a411f0d7a0a
418 6a411f0d7a0a
414 e442cfc57690
419 e442cfc57690
415 e442cfc57690
420 e442cfc57690
416 e442cfc57690
421 e442cfc57690
417 $ hg log -r 'contentdivergent()'
422 $ hg log -r 'contentdivergent()'
418
423
419 Check more complex obsolescence graft (with divergence)
424 Check more complex obsolescence graft (with divergence)
420
425
421 $ mkcommit B_0; hg up 0
426 $ mkcommit B_0; hg up 0
422 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
427 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
423 $ hg debugobsolete `getid B_0` `getid A_2`
428 $ hg debugobsolete `getid B_0` `getid A_2`
424 obsoleted 1 changesets
429 obsoleted 1 changesets
425 $ mkcommit A_7; hg up 0
430 $ mkcommit A_7; hg up 0
426 created new head
431 created new head
427 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
432 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
428 $ mkcommit A_8; hg up 0
433 $ mkcommit A_8; hg up 0
429 created new head
434 created new head
430 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
435 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
431 $ hg debugobsolete `getid A_5` `getid A_7` `getid A_8`
436 $ hg debugobsolete `getid A_5` `getid A_7` `getid A_8`
432 obsoleted 1 changesets
437 obsoleted 1 changesets
433 $ mkcommit A_9; hg up 0
438 $ mkcommit A_9; hg up 0
434 created new head
439 created new head
435 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
440 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
436 $ hg debugobsolete `getid A_5` `getid A_9`
441 $ hg debugobsolete `getid A_5` `getid A_9`
437 4 new content-divergent changesets
442 4 new content-divergent changesets
438 $ hg log -G --hidden
443 $ hg log -G --hidden
439 * 10:bed64f5d2f5a A_9
444 * 10:bed64f5d2f5a A_9
440 |
445 |
441 | * 9:14608b260df8 A_8
446 | * 9:14608b260df8 A_8
442 |/
447 |/
443 | * 8:7ae126973a96 A_7
448 | * 8:7ae126973a96 A_7
444 |/
449 |/
445 | x 7:3750ebee865d B_0 [rewritten as 3:392fd25390da]
450 | x 7:3750ebee865d B_0 [rewritten as 3:392fd25390da]
446 | |
451 | |
447 | x 6:e442cfc57690 A_5 [rewritten as 10:bed64f5d2f5a; split as 8:7ae126973a96, 9:14608b260df8]
452 | x 6:e442cfc57690 A_5 [rewritten as 10:bed64f5d2f5a; split as 8:7ae126973a96, 9:14608b260df8]
448 |/
453 |/
449 | x 5:6a411f0d7a0a A_4 [rewritten as 6:e442cfc57690]
454 | x 5:6a411f0d7a0a A_4 [rewritten as 6:e442cfc57690]
450 |/
455 |/
451 | * 4:01f36c5a8fda A_3
456 | * 4:01f36c5a8fda A_3
452 |/
457 |/
453 | x 3:392fd25390da A_2 [rewritten as 5:6a411f0d7a0a]
458 | x 3:392fd25390da A_2 [rewritten as 5:6a411f0d7a0a]
454 |/
459 |/
455 | x 2:82623d38b9ba A_1 [rewritten as 4:01f36c5a8fda]
460 | x 2:82623d38b9ba A_1 [rewritten as 4:01f36c5a8fda]
456 |/
461 |/
457 | x 1:007dc284c1f8 A_0 [split as 2:82623d38b9ba, 3:392fd25390da]
462 | x 1:007dc284c1f8 A_0 [split as 2:82623d38b9ba, 3:392fd25390da]
458 |/
463 |/
459 @ 0:d20a80d4def3 base
464 @ 0:d20a80d4def3 base
460
465
461 $ hg debugsuccessorssets --hidden 'all()'
466 $ hg debugsuccessorssets --hidden 'all()'
462 d20a80d4def3
467 d20a80d4def3
463 d20a80d4def3
468 d20a80d4def3
464 007dc284c1f8
469 007dc284c1f8
465 01f36c5a8fda bed64f5d2f5a
470 01f36c5a8fda bed64f5d2f5a
466 01f36c5a8fda 7ae126973a96 14608b260df8
471 01f36c5a8fda 7ae126973a96 14608b260df8
467 82623d38b9ba
472 82623d38b9ba
468 01f36c5a8fda
473 01f36c5a8fda
469 392fd25390da
474 392fd25390da
470 bed64f5d2f5a
475 bed64f5d2f5a
471 7ae126973a96 14608b260df8
476 7ae126973a96 14608b260df8
472 01f36c5a8fda
477 01f36c5a8fda
473 01f36c5a8fda
478 01f36c5a8fda
474 6a411f0d7a0a
479 6a411f0d7a0a
475 bed64f5d2f5a
480 bed64f5d2f5a
476 7ae126973a96 14608b260df8
481 7ae126973a96 14608b260df8
477 e442cfc57690
482 e442cfc57690
478 bed64f5d2f5a
483 bed64f5d2f5a
479 7ae126973a96 14608b260df8
484 7ae126973a96 14608b260df8
480 3750ebee865d
485 3750ebee865d
481 bed64f5d2f5a
486 bed64f5d2f5a
482 7ae126973a96 14608b260df8
487 7ae126973a96 14608b260df8
483 7ae126973a96
488 7ae126973a96
484 7ae126973a96
489 7ae126973a96
485 14608b260df8
490 14608b260df8
486 14608b260df8
491 14608b260df8
487 bed64f5d2f5a
492 bed64f5d2f5a
488 bed64f5d2f5a
493 bed64f5d2f5a
489 $ hg debugsuccessorssets 'all()' --closest
494 $ hg debugsuccessorssets 'all()' --closest
490 d20a80d4def3
495 d20a80d4def3
491 d20a80d4def3
496 d20a80d4def3
492 01f36c5a8fda
497 01f36c5a8fda
493 01f36c5a8fda
498 01f36c5a8fda
494 7ae126973a96
499 7ae126973a96
495 7ae126973a96
500 7ae126973a96
496 14608b260df8
501 14608b260df8
497 14608b260df8
502 14608b260df8
498 bed64f5d2f5a
503 bed64f5d2f5a
499 bed64f5d2f5a
504 bed64f5d2f5a
500 $ hg debugsuccessorssets 'all()' --closest --hidden
505 $ hg debugsuccessorssets 'all()' --closest --hidden
501 d20a80d4def3
506 d20a80d4def3
502 d20a80d4def3
507 d20a80d4def3
503 007dc284c1f8
508 007dc284c1f8
504 82623d38b9ba 392fd25390da
509 82623d38b9ba 392fd25390da
505 82623d38b9ba
510 82623d38b9ba
506 82623d38b9ba
511 82623d38b9ba
507 392fd25390da
512 392fd25390da
508 392fd25390da
513 392fd25390da
509 01f36c5a8fda
514 01f36c5a8fda
510 01f36c5a8fda
515 01f36c5a8fda
511 6a411f0d7a0a
516 6a411f0d7a0a
512 e442cfc57690
517 e442cfc57690
513 e442cfc57690
518 e442cfc57690
514 e442cfc57690
519 e442cfc57690
515 3750ebee865d
520 3750ebee865d
516 392fd25390da
521 392fd25390da
517 7ae126973a96
522 7ae126973a96
518 7ae126973a96
523 7ae126973a96
519 14608b260df8
524 14608b260df8
520 14608b260df8
525 14608b260df8
521 bed64f5d2f5a
526 bed64f5d2f5a
522 bed64f5d2f5a
527 bed64f5d2f5a
523 $ hg log -r 'contentdivergent()'
528 $ hg log -r 'contentdivergent()'
524 4:01f36c5a8fda A_3
529 4:01f36c5a8fda A_3
525 8:7ae126973a96 A_7
530 8:7ae126973a96 A_7
526 9:14608b260df8 A_8
531 9:14608b260df8 A_8
527 10:bed64f5d2f5a A_9
532 10:bed64f5d2f5a A_9
528
533
529 fix the divergence
534 fix the divergence
530
535
531 $ mkcommit A_A; hg up 0
536 $ mkcommit A_A; hg up 0
532 created new head
537 created new head
533 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
538 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
534 $ hg debugobsolete `getid A_9` `getid A_A`
539 $ hg debugobsolete `getid A_9` `getid A_A`
535 obsoleted 1 changesets
540 obsoleted 1 changesets
536 $ hg debugobsolete `getid A_7` `getid A_A`
541 $ hg debugobsolete `getid A_7` `getid A_A`
537 obsoleted 1 changesets
542 obsoleted 1 changesets
538 $ hg debugobsolete `getid A_8` `getid A_A`
543 $ hg debugobsolete `getid A_8` `getid A_A`
539 obsoleted 1 changesets
544 obsoleted 1 changesets
540 $ hg log -G --hidden
545 $ hg log -G --hidden
541 o 11:a139f71be9da A_A
546 o 11:a139f71be9da A_A
542 |
547 |
543 | x 10:bed64f5d2f5a A_9 [rewritten as 11:a139f71be9da]
548 | x 10:bed64f5d2f5a A_9 [rewritten as 11:a139f71be9da]
544 |/
549 |/
545 | x 9:14608b260df8 A_8 [rewritten as 11:a139f71be9da]
550 | x 9:14608b260df8 A_8 [rewritten as 11:a139f71be9da]
546 |/
551 |/
547 | x 8:7ae126973a96 A_7 [rewritten as 11:a139f71be9da]
552 | x 8:7ae126973a96 A_7 [rewritten as 11:a139f71be9da]
548 |/
553 |/
549 | x 7:3750ebee865d B_0 [rewritten as 3:392fd25390da]
554 | x 7:3750ebee865d B_0 [rewritten as 3:392fd25390da]
550 | |
555 | |
551 | x 6:e442cfc57690 A_5 [rewritten as 10:bed64f5d2f5a; split as 8:7ae126973a96, 9:14608b260df8]
556 | x 6:e442cfc57690 A_5 [rewritten as 10:bed64f5d2f5a; split as 8:7ae126973a96, 9:14608b260df8]
552 |/
557 |/
553 | x 5:6a411f0d7a0a A_4 [rewritten as 6:e442cfc57690]
558 | x 5:6a411f0d7a0a A_4 [rewritten as 6:e442cfc57690]
554 |/
559 |/
555 | o 4:01f36c5a8fda A_3
560 | o 4:01f36c5a8fda A_3
556 |/
561 |/
557 | x 3:392fd25390da A_2 [rewritten as 5:6a411f0d7a0a]
562 | x 3:392fd25390da A_2 [rewritten as 5:6a411f0d7a0a]
558 |/
563 |/
559 | x 2:82623d38b9ba A_1 [rewritten as 4:01f36c5a8fda]
564 | x 2:82623d38b9ba A_1 [rewritten as 4:01f36c5a8fda]
560 |/
565 |/
561 | x 1:007dc284c1f8 A_0 [split as 2:82623d38b9ba, 3:392fd25390da]
566 | x 1:007dc284c1f8 A_0 [split as 2:82623d38b9ba, 3:392fd25390da]
562 |/
567 |/
563 @ 0:d20a80d4def3 base
568 @ 0:d20a80d4def3 base
564
569
565 $ hg debugsuccessorssets --hidden 'all()'
570 $ hg debugsuccessorssets --hidden 'all()'
566 d20a80d4def3
571 d20a80d4def3
567 d20a80d4def3
572 d20a80d4def3
568 007dc284c1f8
573 007dc284c1f8
569 01f36c5a8fda a139f71be9da
574 01f36c5a8fda a139f71be9da
570 82623d38b9ba
575 82623d38b9ba
571 01f36c5a8fda
576 01f36c5a8fda
572 392fd25390da
577 392fd25390da
573 a139f71be9da
578 a139f71be9da
574 01f36c5a8fda
579 01f36c5a8fda
575 01f36c5a8fda
580 01f36c5a8fda
576 6a411f0d7a0a
581 6a411f0d7a0a
577 a139f71be9da
582 a139f71be9da
578 e442cfc57690
583 e442cfc57690
579 a139f71be9da
584 a139f71be9da
580 3750ebee865d
585 3750ebee865d
581 a139f71be9da
586 a139f71be9da
582 7ae126973a96
587 7ae126973a96
583 a139f71be9da
588 a139f71be9da
584 14608b260df8
589 14608b260df8
585 a139f71be9da
590 a139f71be9da
586 bed64f5d2f5a
591 bed64f5d2f5a
587 a139f71be9da
592 a139f71be9da
588 a139f71be9da
593 a139f71be9da
589 a139f71be9da
594 a139f71be9da
590 $ hg debugsuccessorssets 'all()' --closest
595 $ hg debugsuccessorssets 'all()' --closest
591 d20a80d4def3
596 d20a80d4def3
592 d20a80d4def3
597 d20a80d4def3
593 01f36c5a8fda
598 01f36c5a8fda
594 01f36c5a8fda
599 01f36c5a8fda
595 a139f71be9da
600 a139f71be9da
596 a139f71be9da
601 a139f71be9da
597 $ hg debugsuccessorssets 'all()' --closest --hidden
602 $ hg debugsuccessorssets 'all()' --closest --hidden
598 d20a80d4def3
603 d20a80d4def3
599 d20a80d4def3
604 d20a80d4def3
600 007dc284c1f8
605 007dc284c1f8
601 82623d38b9ba 392fd25390da
606 82623d38b9ba 392fd25390da
602 82623d38b9ba
607 82623d38b9ba
603 82623d38b9ba
608 82623d38b9ba
604 392fd25390da
609 392fd25390da
605 392fd25390da
610 392fd25390da
606 01f36c5a8fda
611 01f36c5a8fda
607 01f36c5a8fda
612 01f36c5a8fda
608 6a411f0d7a0a
613 6a411f0d7a0a
609 e442cfc57690
614 e442cfc57690
610 e442cfc57690
615 e442cfc57690
611 e442cfc57690
616 e442cfc57690
612 3750ebee865d
617 3750ebee865d
613 392fd25390da
618 392fd25390da
614 7ae126973a96
619 7ae126973a96
615 a139f71be9da
620 a139f71be9da
616 14608b260df8
621 14608b260df8
617 a139f71be9da
622 a139f71be9da
618 bed64f5d2f5a
623 bed64f5d2f5a
619 a139f71be9da
624 a139f71be9da
620 a139f71be9da
625 a139f71be9da
621 a139f71be9da
626 a139f71be9da
622 $ hg log -r 'contentdivergent()'
627 $ hg log -r 'contentdivergent()'
623
628
624 #if serve
629 #if serve
625
630
626 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid --config web.view=all \
631 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid --config web.view=all \
627 > -A access.log -E errors.log
632 > -A access.log -E errors.log
628 $ cat hg.pid >> $DAEMON_PIDS
633 $ cat hg.pid >> $DAEMON_PIDS
629
634
630 check an obsolete changeset that was rewritten and also split
635 check an obsolete changeset that was rewritten and also split
631
636
632 $ get-with-headers.py localhost:$HGPORT 'rev/e442cfc57690?style=paper' | egrep 'rewritten|split'
637 $ get-with-headers.py localhost:$HGPORT 'rev/e442cfc57690?style=paper' | egrep 'rewritten|split'
633 <td>rewritten as <a href="/rev/bed64f5d2f5a?style=paper">bed64f5d2f5a</a> by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span><br>
638 <td>rewritten as <a href="/rev/bed64f5d2f5a?style=paper">bed64f5d2f5a</a> by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span><br>
634 split as <a href="/rev/7ae126973a96?style=paper">7ae126973a96</a> <a href="/rev/14608b260df8?style=paper">14608b260df8</a> by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></td>
639 split as <a href="/rev/7ae126973a96?style=paper">7ae126973a96</a> <a href="/rev/14608b260df8?style=paper">14608b260df8</a> by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></td>
635 $ get-with-headers.py localhost:$HGPORT 'rev/e442cfc57690?style=coal' | egrep 'rewritten|split'
640 $ get-with-headers.py localhost:$HGPORT 'rev/e442cfc57690?style=coal' | egrep 'rewritten|split'
636 <td>rewritten as <a href="/rev/bed64f5d2f5a?style=coal">bed64f5d2f5a</a> by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span><br>
641 <td>rewritten as <a href="/rev/bed64f5d2f5a?style=coal">bed64f5d2f5a</a> by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span><br>
637 split as <a href="/rev/7ae126973a96?style=coal">7ae126973a96</a> <a href="/rev/14608b260df8?style=coal">14608b260df8</a> by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></td>
642 split as <a href="/rev/7ae126973a96?style=coal">7ae126973a96</a> <a href="/rev/14608b260df8?style=coal">14608b260df8</a> by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></td>
638 $ get-with-headers.py localhost:$HGPORT 'rev/e442cfc57690?style=gitweb' | egrep 'rewritten|split'
643 $ get-with-headers.py localhost:$HGPORT 'rev/e442cfc57690?style=gitweb' | egrep 'rewritten|split'
639 <td>rewritten as <a class="list" href="/rev/bed64f5d2f5a?style=gitweb">bed64f5d2f5a</a> by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></td>
644 <td>rewritten as <a class="list" href="/rev/bed64f5d2f5a?style=gitweb">bed64f5d2f5a</a> by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></td>
640 <td>split as <a class="list" href="/rev/7ae126973a96?style=gitweb">7ae126973a96</a> <a class="list" href="/rev/14608b260df8?style=gitweb">14608b260df8</a> by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></td>
645 <td>split as <a class="list" href="/rev/7ae126973a96?style=gitweb">7ae126973a96</a> <a class="list" href="/rev/14608b260df8?style=gitweb">14608b260df8</a> by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></td>
641 $ get-with-headers.py localhost:$HGPORT 'rev/e442cfc57690?style=monoblue' | egrep 'rewritten|split'
646 $ get-with-headers.py localhost:$HGPORT 'rev/e442cfc57690?style=monoblue' | egrep 'rewritten|split'
642 <dd>rewritten as <a href="/rev/bed64f5d2f5a?style=monoblue">bed64f5d2f5a</a> by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></dd>
647 <dd>rewritten as <a href="/rev/bed64f5d2f5a?style=monoblue">bed64f5d2f5a</a> by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></dd>
643 <dd>split as <a href="/rev/7ae126973a96?style=monoblue">7ae126973a96</a> <a href="/rev/14608b260df8?style=monoblue">14608b260df8</a> by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></dd>
648 <dd>split as <a href="/rev/7ae126973a96?style=monoblue">7ae126973a96</a> <a href="/rev/14608b260df8?style=monoblue">14608b260df8</a> by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></dd>
644 $ get-with-headers.py localhost:$HGPORT 'rev/e442cfc57690?style=spartan' | egrep 'rewritten|split'
649 $ get-with-headers.py localhost:$HGPORT 'rev/e442cfc57690?style=spartan' | egrep 'rewritten|split'
645 <td class="obsolete">rewritten as <a href="/rev/bed64f5d2f5a?style=spartan">bed64f5d2f5a</a> by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></td>
650 <td class="obsolete">rewritten as <a href="/rev/bed64f5d2f5a?style=spartan">bed64f5d2f5a</a> by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></td>
646 <td class="obsolete">split as <a href="/rev/7ae126973a96?style=spartan">7ae126973a96</a> <a href="/rev/14608b260df8?style=spartan">14608b260df8</a> by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></td>
651 <td class="obsolete">split as <a href="/rev/7ae126973a96?style=spartan">7ae126973a96</a> <a href="/rev/14608b260df8?style=spartan">14608b260df8</a> by &#116;&#101;&#115;&#116; <span class="age">Thu, 01 Jan 1970 00:00:00 +0000</span></td>
647
652
648 $ killdaemons.py
653 $ killdaemons.py
649
654
650 #endif
655 #endif
651
656
652 $ cd ..
657 $ cd ..
653
658
654
659
655 Subset does not diverge
660 Subset does not diverge
656 ------------------------------
661 ------------------------------
657
662
658 Do not report divergent successors-set if it is a subset of another
663 Do not report divergent successors-set if it is a subset of another
659 successors-set. (report [A,B] not [A] + [A,B])
664 successors-set. (report [A,B] not [A] + [A,B])
660
665
661 $ newcase subset
666 $ newcase subset
662 $ hg debugobsolete `getid A_0` `getid A_2`
667 $ hg debugobsolete `getid A_0` `getid A_2`
663 obsoleted 1 changesets
668 obsoleted 1 changesets
664 $ hg debugobsolete `getid A_0` `getid A_1` `getid A_2`
669 $ hg debugobsolete `getid A_0` `getid A_1` `getid A_2`
665 $ hg debugsuccessorssets --hidden 'desc('A_0')'
670 $ hg debugsuccessorssets --hidden 'desc('A_0')'
666 007dc284c1f8
671 007dc284c1f8
667 82623d38b9ba 392fd25390da
672 82623d38b9ba 392fd25390da
668 $ hg debugsuccessorssets 'desc('A_0')' --closest
673 $ hg debugsuccessorssets 'desc('A_0')' --closest
669 $ hg debugsuccessorssets 'desc('A_0')' --closest --hidden
674 $ hg debugsuccessorssets 'desc('A_0')' --closest --hidden
670 007dc284c1f8
675 007dc284c1f8
671 82623d38b9ba 392fd25390da
676 82623d38b9ba 392fd25390da
672
677
673 $ cd ..
678 $ cd ..
674
679
675 Use scmutil.cleanupnodes API to create divergence
680 Use scmutil.cleanupnodes API to create divergence
676
681
677 $ hg init cleanupnodes
682 $ hg init cleanupnodes
678 $ cd cleanupnodes
683 $ cd cleanupnodes
679 $ hg debugdrawdag <<'EOS'
684 $ hg debugdrawdag <<'EOS'
680 > B1 B3 B4
685 > B1 B3 B4
681 > | \|
686 > | \|
682 > A Z
687 > A Z
683 > EOS
688 > EOS
684
689
685 $ hg update -q B1
690 $ hg update -q B1
686 $ echo 3 >> B
691 $ echo 3 >> B
687 $ hg commit --amend -m B2
692 $ hg commit --amend -m B2
688 $ cat > $TESTTMP/scmutilcleanup.py <<EOF
693 $ cat > $TESTTMP/scmutilcleanup.py <<EOF
689 > from mercurial import registrar, scmutil
694 > from mercurial import registrar, scmutil
690 > cmdtable = {}
695 > cmdtable = {}
691 > command = registrar.command(cmdtable)
696 > command = registrar.command(cmdtable)
692 > @command('cleanup')
697 > @command('cleanup')
693 > def cleanup(ui, repo):
698 > def cleanup(ui, repo):
694 > def node(expr):
699 > def node(expr):
695 > unfi = repo.unfiltered()
700 > unfi = repo.unfiltered()
696 > rev = unfi.revs(expr).first()
701 > rev = unfi.revs(expr).first()
697 > return unfi.changelog.node(rev)
702 > return unfi.changelog.node(rev)
698 > with repo.wlock(), repo.lock(), repo.transaction('delayedstrip'):
703 > with repo.wlock(), repo.lock(), repo.transaction('delayedstrip'):
699 > mapping = {node('desc(B1)'): [node('desc(B3)')],
704 > mapping = {node('desc(B1)'): [node('desc(B3)')],
700 > node('desc(B3)'): [node('desc(B4)')]}
705 > node('desc(B3)'): [node('desc(B4)')]}
701 > scmutil.cleanupnodes(repo, mapping, 'test')
706 > scmutil.cleanupnodes(repo, mapping, 'test')
702 > EOF
707 > EOF
703
708
704 $ rm .hg/localtags
709 $ rm .hg/localtags
705 $ hg cleanup --config extensions.t=$TESTTMP/scmutilcleanup.py
710 $ hg cleanup --config extensions.t=$TESTTMP/scmutilcleanup.py
706 2 new content-divergent changesets
711 2 new content-divergent changesets
707 $ hg log -G -T '{rev}:{node|short} {desc} {instabilities}' -r 'sort(all(), topo)'
712 $ hg log -G -T '{rev}:{node|short} {desc} {instabilities}' -r 'sort(all(), topo)'
708 @ 5:1a2a9b5b0030 B2 content-divergent
713 @ 5:1a2a9b5b0030 B2 content-divergent
709 |
714 |
710 | * 4:70d5a63ca112 B4 content-divergent
715 | * 4:70d5a63ca112 B4 content-divergent
711 | |
716 | |
712 | o 1:48b9aae0607f Z
717 | o 1:48b9aae0607f Z
713 |
718 |
714 o 0:426bada5c675 A
719 o 0:426bada5c675 A
715
720
716 $ hg debugobsolete
721 $ hg debugobsolete
717 a178212c3433c4e77b573f6011e29affb8aefa33 1a2a9b5b0030632400aa78e00388c20f99d3ec44 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'}
722 a178212c3433c4e77b573f6011e29affb8aefa33 1a2a9b5b0030632400aa78e00388c20f99d3ec44 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'}
718 a178212c3433c4e77b573f6011e29affb8aefa33 ad6478fb94ecec98b86daae98722865d494ac561 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'test', 'user': 'test'}
723 a178212c3433c4e77b573f6011e29affb8aefa33 ad6478fb94ecec98b86daae98722865d494ac561 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'test', 'user': 'test'}
719 ad6478fb94ecec98b86daae98722865d494ac561 70d5a63ca112acb3764bc1d7320ca90ea688d671 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'test', 'user': 'test'}
724 ad6478fb94ecec98b86daae98722865d494ac561 70d5a63ca112acb3764bc1d7320ca90ea688d671 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'test', 'user': 'test'}
720
725
721 $ hg debugwhyunstable 1a2a9b5b0030
726 $ hg debugwhyunstable 1a2a9b5b0030
722 content-divergent: 70d5a63ca112acb3764bc1d7320ca90ea688d671 (draft) predecessor a178212c3433c4e77b573f6011e29affb8aefa33
727 content-divergent: 70d5a63ca112acb3764bc1d7320ca90ea688d671 (draft) predecessor a178212c3433c4e77b573f6011e29affb8aefa33
723
728
724 $ hg log -r 1a2a9b5b0030 -T '{whyunstable}\n'
729 $ hg log -r 1a2a9b5b0030 -T '{whyunstable}\n'
725 content-divergent: 4:70d5a63ca112 (draft) predecessor a178212c3433
730 content-divergent: 4:70d5a63ca112 (draft) predecessor a178212c3433
726 $ hg log -r 1a2a9b5b0030 -T '{whyunstable % "{instability}:{divergentnodes} {reason} {node|shortest}\n"}'
731 $ hg log -r 1a2a9b5b0030 -T whyunstableshort
727 content-divergent: 4:70d5a63ca112 (draft) predecessor a178
732 content-divergent: 4:70d5a63ca112 (draft) predecessor a178
728 $ hg log -r 1a2a9b5b0030 -T '{whyunstable % "{instability}:{divergentnodes % " {node|shortest} ({phase})"} {reason} {node|shortest}\n"}'
733 $ hg log -r 1a2a9b5b0030 -T whyunstableshorter
729 content-divergent: 70d5 (draft) predecessor a178
734 content-divergent: 70d5 (draft) predecessor a178
730
735
731 #if serve
736 #if serve
732
737
733 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
738 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
734 $ cat hg.pid >> $DAEMON_PIDS
739 $ cat hg.pid >> $DAEMON_PIDS
735
740
736 check explanation for a content-divergent changeset
741 check explanation for a content-divergent changeset
737
742
738 $ get-with-headers.py localhost:$HGPORT 'rev/1a2a9b5b0030?style=paper' | grep divergent:
743 $ get-with-headers.py localhost:$HGPORT 'rev/1a2a9b5b0030?style=paper' | grep divergent:
739 <td>content-divergent: <a href="/rev/70d5a63ca112?style=paper">70d5a63ca112</a> (draft) predecessor <a href="/rev/a178212c3433?style=paper">a178212c3433</a></td>
744 <td>content-divergent: <a href="/rev/70d5a63ca112?style=paper">70d5a63ca112</a> (draft) predecessor <a href="/rev/a178212c3433?style=paper">a178212c3433</a></td>
740 $ get-with-headers.py localhost:$HGPORT 'rev/1a2a9b5b0030?style=coal' | grep divergent:
745 $ get-with-headers.py localhost:$HGPORT 'rev/1a2a9b5b0030?style=coal' | grep divergent:
741 <td>content-divergent: <a href="/rev/70d5a63ca112?style=coal">70d5a63ca112</a> (draft) predecessor <a href="/rev/a178212c3433?style=coal">a178212c3433</a></td>
746 <td>content-divergent: <a href="/rev/70d5a63ca112?style=coal">70d5a63ca112</a> (draft) predecessor <a href="/rev/a178212c3433?style=coal">a178212c3433</a></td>
742 $ get-with-headers.py localhost:$HGPORT 'rev/1a2a9b5b0030?style=gitweb' | grep divergent:
747 $ get-with-headers.py localhost:$HGPORT 'rev/1a2a9b5b0030?style=gitweb' | grep divergent:
743 <td>content-divergent: <a class="list" href="/rev/70d5a63ca112?style=gitweb">70d5a63ca112</a> (draft) predecessor <a class="list" href="/rev/a178212c3433?style=gitweb">a178212c3433</a></td>
748 <td>content-divergent: <a class="list" href="/rev/70d5a63ca112?style=gitweb">70d5a63ca112</a> (draft) predecessor <a class="list" href="/rev/a178212c3433?style=gitweb">a178212c3433</a></td>
744 $ get-with-headers.py localhost:$HGPORT 'rev/1a2a9b5b0030?style=monoblue' | grep divergent:
749 $ get-with-headers.py localhost:$HGPORT 'rev/1a2a9b5b0030?style=monoblue' | grep divergent:
745 <dd>content-divergent: <a href="/rev/70d5a63ca112?style=monoblue">70d5a63ca112</a> (draft) predecessor <a href="/rev/a178212c3433?style=monoblue">a178212c3433</a></dd>
750 <dd>content-divergent: <a href="/rev/70d5a63ca112?style=monoblue">70d5a63ca112</a> (draft) predecessor <a href="/rev/a178212c3433?style=monoblue">a178212c3433</a></dd>
746 $ get-with-headers.py localhost:$HGPORT 'rev/1a2a9b5b0030?style=spartan' | grep divergent:
751 $ get-with-headers.py localhost:$HGPORT 'rev/1a2a9b5b0030?style=spartan' | grep divergent:
747 <td class="unstable">content-divergent: <a href="/rev/70d5a63ca112?style=spartan">70d5a63ca112</a> (draft) predecessor <a href="/rev/a178212c3433?style=spartan">a178212c3433</a></td>
752 <td class="unstable">content-divergent: <a href="/rev/70d5a63ca112?style=spartan">70d5a63ca112</a> (draft) predecessor <a href="/rev/a178212c3433?style=spartan">a178212c3433</a></td>
748
753
749 $ killdaemons.py
754 $ killdaemons.py
750
755
751 #endif
756 #endif
General Comments 0
You need to be logged in to leave comments. Login now