comparison tests/test-obsmarker-template.t @ 32879:1858fc2327ef

template: add predecessors template Add a 'predecessors' template that returns the list of all closest known predecessors for a changectx. The elements of the list are row changectx node id formatted by default as short nodes. The "closest predecessors" are the first locally known revisions encountered while, walking predecessors markers. For example: 1) If a (A, (B)) markers exists and both A and B are locally known A is a closest predecessors of B. 2) If a (A, (B)) and (B, (C)) markers exists and only A and C are known locally, A will be the closest precursors of C. This logic respect repository filtering. So hidden revision will be skipped by this logic unless --hidden is specified. Since we only display the visible predecessors, this template will not display anything in most case. It makes a good candidate for inclusion in the default log output. I added a new test-file for testing the precursors in various scenarios. This test file will also be used for the successors template. A new "obsutil" module has been added to start gathering utility function outside of the large obsolete.py module.
author Boris Feld <boris.feld@octobus.net>
date Thu, 15 Jun 2017 13:02:58 +0200
parents
children 89610c586fa2
comparison
equal deleted inserted replaced
32878:a3a36bcf122e 32879:1858fc2327ef
1 This test file test the various templates related to obsmarkers.
2
3 Global setup
4 ============
5
6 $ . $TESTDIR/testlib/obsmarker-common.sh
7 $ cat >> $HGRCPATH <<EOF
8 > [ui]
9 > interactive = true
10 > [phases]
11 > publish=False
12 > [experimental]
13 > evolution=all
14 > [alias]
15 > tlog = log -G -T '{node|short}\
16 > {if(predecessors, "\n Predecessors: {predecessors}")}\
17 > {if(predecessors, "\n semi-colon: {join(predecessors, "; ")}")}\
18 > {if(predecessors, "\n json: {predecessors|json}")}\n'
19 > EOF
20
21 Test templates on amended commit
22 ================================
23
24 Test setup
25 ----------
26
27 $ hg init $TESTTMP/templates-local-amend
28 $ cd $TESTTMP/templates-local-amend
29 $ mkcommit ROOT
30 $ mkcommit A0
31 $ echo 42 >> A0
32 $ hg commit --amend -m "A1"
33 $ hg commit --amend -m "A2"
34
35 $ hg log --hidden -G
36 @ changeset: 4:d004c8f274b9
37 | tag: tip
38 | parent: 0:ea207398892e
39 | user: test
40 | date: Thu Jan 01 00:00:00 1970 +0000
41 | summary: A2
42 |
43 | x changeset: 3:a468dc9b3633
44 |/ parent: 0:ea207398892e
45 | user: test
46 | date: Thu Jan 01 00:00:00 1970 +0000
47 | summary: A1
48 |
49 | x changeset: 2:f137d23bb3e1
50 | | user: test
51 | | date: Thu Jan 01 00:00:00 1970 +0000
52 | | summary: temporary amend commit for 471f378eab4c
53 | |
54 | x changeset: 1:471f378eab4c
55 |/ user: test
56 | date: Thu Jan 01 00:00:00 1970 +0000
57 | summary: A0
58 |
59 o changeset: 0:ea207398892e
60 user: test
61 date: Thu Jan 01 00:00:00 1970 +0000
62 summary: ROOT
63
64 Check templates
65 ---------------
66 $ hg up 'desc(A0)' --hidden
67 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
68
69 Predecessors template should show current revision as it is the working copy
70 $ hg tlog
71 o d004c8f274b9
72 | Predecessors: 471f378eab4c
73 | semi-colon: 471f378eab4c
74 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
75 | @ 471f378eab4c
76 |/
77 o ea207398892e
78
79 $ hg up 'desc(A1)' --hidden
80 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
81
82 Predecessors template should show current revision as it is the working copy
83 $ hg tlog
84 o d004c8f274b9
85 | Predecessors: a468dc9b3633
86 | semi-colon: a468dc9b3633
87 | json: ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"]
88 | @ a468dc9b3633
89 |/
90 o ea207398892e
91
92 Predecessors template should show all the predecessors as we force their display
93 with --hidden
94 $ hg tlog --hidden
95 o d004c8f274b9
96 | Predecessors: a468dc9b3633
97 | semi-colon: a468dc9b3633
98 | json: ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"]
99 | @ a468dc9b3633
100 |/ Predecessors: 471f378eab4c
101 | semi-colon: 471f378eab4c
102 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
103 | x f137d23bb3e1
104 | |
105 | x 471f378eab4c
106 |/
107 o ea207398892e
108
109
110 Predecessors template shouldn't show anything as all obsolete commit are not
111 visible.
112 $ hg up 'desc(A2)'
113 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
114 $ hg tlog
115 @ d004c8f274b9
116 |
117 o ea207398892e
118
119 $ hg tlog --hidden
120 @ d004c8f274b9
121 | Predecessors: a468dc9b3633
122 | semi-colon: a468dc9b3633
123 | json: ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"]
124 | x a468dc9b3633
125 |/ Predecessors: 471f378eab4c
126 | semi-colon: 471f378eab4c
127 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
128 | x f137d23bb3e1
129 | |
130 | x 471f378eab4c
131 |/
132 o ea207398892e
133
134
135 Test templates with splitted commit
136 ===================================
137
138 $ hg init $TESTTMP/templates-local-split
139 $ cd $TESTTMP/templates-local-split
140 $ mkcommit ROOT
141 $ echo 42 >> a
142 $ echo 43 >> b
143 $ hg commit -A -m "A0"
144 adding a
145 adding b
146 $ hg log --hidden -G
147 @ changeset: 1:471597cad322
148 | tag: tip
149 | user: test
150 | date: Thu Jan 01 00:00:00 1970 +0000
151 | summary: A0
152 |
153 o changeset: 0:ea207398892e
154 user: test
155 date: Thu Jan 01 00:00:00 1970 +0000
156 summary: ROOT
157
158 # Simulate split
159 $ hg up -r "desc(ROOT)"
160 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
161 $ echo 42 >> a
162 $ hg commit -A -m "A0"
163 adding a
164 created new head
165 $ echo 43 >> b
166 $ hg commit -A -m "A0"
167 adding b
168 $ hg debugobsolete `getid "1"` `getid "2"` `getid "3"`
169
170 $ hg log --hidden -G
171 @ changeset: 3:f257fde29c7a
172 | tag: tip
173 | user: test
174 | date: Thu Jan 01 00:00:00 1970 +0000
175 | summary: A0
176 |
177 o changeset: 2:337fec4d2edc
178 | parent: 0:ea207398892e
179 | user: test
180 | date: Thu Jan 01 00:00:00 1970 +0000
181 | summary: A0
182 |
183 | x changeset: 1:471597cad322
184 |/ user: test
185 | date: Thu Jan 01 00:00:00 1970 +0000
186 | summary: A0
187 |
188 o changeset: 0:ea207398892e
189 user: test
190 date: Thu Jan 01 00:00:00 1970 +0000
191 summary: ROOT
192
193 Check templates
194 ---------------
195
196 $ hg up 'obsolete()' --hidden
197 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
198
199 Predecessors template should show current revision as it is the working copy
200 $ hg tlog
201 o f257fde29c7a
202 | Predecessors: 471597cad322
203 | semi-colon: 471597cad322
204 | json: ["471597cad322d1f659bb169751be9133dad92ef3"]
205 o 337fec4d2edc
206 | Predecessors: 471597cad322
207 | semi-colon: 471597cad322
208 | json: ["471597cad322d1f659bb169751be9133dad92ef3"]
209 | @ 471597cad322
210 |/
211 o ea207398892e
212
213 $ hg up f257fde29c7a
214 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
215
216 Predecessors template should not show a predecessor as it's not displayed in
217 the log
218 $ hg tlog
219 @ f257fde29c7a
220 |
221 o 337fec4d2edc
222 |
223 o ea207398892e
224
225 Predecessors template should show both predecessors as we force their display
226 with --hidden
227 $ hg tlog --hidden
228 @ f257fde29c7a
229 | Predecessors: 471597cad322
230 | semi-colon: 471597cad322
231 | json: ["471597cad322d1f659bb169751be9133dad92ef3"]
232 o 337fec4d2edc
233 | Predecessors: 471597cad322
234 | semi-colon: 471597cad322
235 | json: ["471597cad322d1f659bb169751be9133dad92ef3"]
236 | x 471597cad322
237 |/
238 o ea207398892e
239
240 Test templates with folded commit
241 =================================
242
243 Test setup
244 ----------
245
246 $ hg init $TESTTMP/templates-local-fold
247 $ cd $TESTTMP/templates-local-fold
248 $ mkcommit ROOT
249 $ mkcommit A0
250 $ mkcommit B0
251 $ hg log --hidden -G
252 @ changeset: 2:0dec01379d3b
253 | tag: tip
254 | user: test
255 | date: Thu Jan 01 00:00:00 1970 +0000
256 | summary: B0
257 |
258 o changeset: 1:471f378eab4c
259 | user: test
260 | date: Thu Jan 01 00:00:00 1970 +0000
261 | summary: A0
262 |
263 o changeset: 0:ea207398892e
264 user: test
265 date: Thu Jan 01 00:00:00 1970 +0000
266 summary: ROOT
267
268 Simulate a fold
269 $ hg up -r "desc(ROOT)"
270 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
271 $ echo "A0" > A0
272 $ echo "B0" > B0
273 $ hg commit -A -m "C0"
274 adding A0
275 adding B0
276 created new head
277 $ hg debugobsolete `getid "desc(A0)"` `getid "desc(C0)"`
278 $ hg debugobsolete `getid "desc(B0)"` `getid "desc(C0)"`
279
280 $ hg log --hidden -G
281 @ changeset: 3:eb5a0daa2192
282 | tag: tip
283 | parent: 0:ea207398892e
284 | user: test
285 | date: Thu Jan 01 00:00:00 1970 +0000
286 | summary: C0
287 |
288 | x changeset: 2:0dec01379d3b
289 | | user: test
290 | | date: Thu Jan 01 00:00:00 1970 +0000
291 | | summary: B0
292 | |
293 | x changeset: 1:471f378eab4c
294 |/ user: test
295 | date: Thu Jan 01 00:00:00 1970 +0000
296 | summary: A0
297 |
298 o changeset: 0:ea207398892e
299 user: test
300 date: Thu Jan 01 00:00:00 1970 +0000
301 summary: ROOT
302
303 Check templates
304 ---------------
305
306 $ hg up 'desc(A0)' --hidden
307 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
308
309 Predecessors template should show current revision as it is the working copy
310 $ hg tlog
311 o eb5a0daa2192
312 | Predecessors: 471f378eab4c
313 | semi-colon: 471f378eab4c
314 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
315 | @ 471f378eab4c
316 |/
317 o ea207398892e
318
319 $ hg up 'desc(B0)' --hidden
320 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
321
322 Predecessors template should show both predecessors as they should be both
323 displayed
324 $ hg tlog
325 o eb5a0daa2192
326 | Predecessors: 0dec01379d3b 471f378eab4c
327 | semi-colon: 0dec01379d3b; 471f378eab4c
328 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", "471f378eab4c5e25f6c77f785b27c936efb22874"]
329 | @ 0dec01379d3b
330 | |
331 | x 471f378eab4c
332 |/
333 o ea207398892e
334
335 $ hg up 'desc(C0)'
336 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
337
338 Predecessors template should not show predecessors as they are not displayed in
339 the log
340 $ hg tlog
341 @ eb5a0daa2192
342 |
343 o ea207398892e
344
345 Predecessors template should show both predecessors as we force their display
346 with --hidden
347 $ hg tlog --hidden
348 @ eb5a0daa2192
349 | Predecessors: 0dec01379d3b 471f378eab4c
350 | semi-colon: 0dec01379d3b; 471f378eab4c
351 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", "471f378eab4c5e25f6c77f785b27c936efb22874"]
352 | x 0dec01379d3b
353 | |
354 | x 471f378eab4c
355 |/
356 o ea207398892e
357
358
359 Test templates with divergence
360 ==============================
361
362 Test setup
363 ----------
364
365 $ hg init $TESTTMP/templates-local-divergence
366 $ cd $TESTTMP/templates-local-divergence
367 $ mkcommit ROOT
368 $ mkcommit A0
369 $ hg commit --amend -m "A1"
370 $ hg log --hidden -G
371 @ changeset: 2:fdf9bde5129a
372 | tag: tip
373 | parent: 0:ea207398892e
374 | user: test
375 | date: Thu Jan 01 00:00:00 1970 +0000
376 | summary: A1
377 |
378 | x changeset: 1:471f378eab4c
379 |/ user: test
380 | date: Thu Jan 01 00:00:00 1970 +0000
381 | summary: A0
382 |
383 o changeset: 0:ea207398892e
384 user: test
385 date: Thu Jan 01 00:00:00 1970 +0000
386 summary: ROOT
387
388 $ hg update --hidden 'desc(A0)'
389 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
390 $ hg commit --amend -m "A2"
391 $ hg log --hidden -G
392 @ changeset: 3:65b757b745b9
393 | tag: tip
394 | parent: 0:ea207398892e
395 | user: test
396 | date: Thu Jan 01 00:00:00 1970 +0000
397 | trouble: divergent
398 | summary: A2
399 |
400 | o changeset: 2:fdf9bde5129a
401 |/ parent: 0:ea207398892e
402 | user: test
403 | date: Thu Jan 01 00:00:00 1970 +0000
404 | trouble: divergent
405 | summary: A1
406 |
407 | x changeset: 1:471f378eab4c
408 |/ user: test
409 | date: Thu Jan 01 00:00:00 1970 +0000
410 | summary: A0
411 |
412 o changeset: 0:ea207398892e
413 user: test
414 date: Thu Jan 01 00:00:00 1970 +0000
415 summary: ROOT
416
417 $ hg commit --amend -m 'A3'
418 $ hg log --hidden -G
419 @ changeset: 4:019fadeab383
420 | tag: tip
421 | parent: 0:ea207398892e
422 | user: test
423 | date: Thu Jan 01 00:00:00 1970 +0000
424 | trouble: divergent
425 | summary: A3
426 |
427 | x changeset: 3:65b757b745b9
428 |/ parent: 0:ea207398892e
429 | user: test
430 | date: Thu Jan 01 00:00:00 1970 +0000
431 | summary: A2
432 |
433 | o changeset: 2:fdf9bde5129a
434 |/ parent: 0:ea207398892e
435 | user: test
436 | date: Thu Jan 01 00:00:00 1970 +0000
437 | trouble: divergent
438 | summary: A1
439 |
440 | x changeset: 1:471f378eab4c
441 |/ user: test
442 | date: Thu Jan 01 00:00:00 1970 +0000
443 | summary: A0
444 |
445 o changeset: 0:ea207398892e
446 user: test
447 date: Thu Jan 01 00:00:00 1970 +0000
448 summary: ROOT
449
450
451 Check templates
452 ---------------
453
454 $ hg up 'desc(A0)' --hidden
455 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
456
457 Predecessors template should show current revision as it is the working copy
458 $ hg tlog
459 o 019fadeab383
460 | Predecessors: 471f378eab4c
461 | semi-colon: 471f378eab4c
462 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
463 | o fdf9bde5129a
464 |/ Predecessors: 471f378eab4c
465 | semi-colon: 471f378eab4c
466 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
467 | @ 471f378eab4c
468 |/
469 o ea207398892e
470
471 $ hg up 'desc(A1)'
472 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
473
474 Predecessors template should not show predecessors as they are not displayed in
475 the log
476 $ hg tlog
477 o 019fadeab383
478 |
479 | @ fdf9bde5129a
480 |/
481 o ea207398892e
482
483 Predecessors template should the predecessors as we force their display with
484 --hidden
485 $ hg tlog --hidden
486 o 019fadeab383
487 | Predecessors: 65b757b745b9
488 | semi-colon: 65b757b745b9
489 | json: ["65b757b745b935093c87a2bccd877521cccffcbd"]
490 | x 65b757b745b9
491 |/ Predecessors: 471f378eab4c
492 | semi-colon: 471f378eab4c
493 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
494 | @ fdf9bde5129a
495 |/ Predecessors: 471f378eab4c
496 | semi-colon: 471f378eab4c
497 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
498 | x 471f378eab4c
499 |/
500 o ea207398892e
501
502
503 Test templates with amended + folded commit
504 ===========================================
505
506 Test setup
507 ----------
508
509 $ hg init $TESTTMP/templates-local-amend-fold
510 $ cd $TESTTMP/templates-local-amend-fold
511 $ mkcommit ROOT
512 $ mkcommit A0
513 $ mkcommit B0
514 $ hg commit --amend -m "B1"
515 $ hg log --hidden -G
516 @ changeset: 3:b7ea6d14e664
517 | tag: tip
518 | parent: 1:471f378eab4c
519 | user: test
520 | date: Thu Jan 01 00:00:00 1970 +0000
521 | summary: B1
522 |
523 | x changeset: 2:0dec01379d3b
524 |/ user: test
525 | date: Thu Jan 01 00:00:00 1970 +0000
526 | summary: B0
527 |
528 o changeset: 1:471f378eab4c
529 | user: test
530 | date: Thu Jan 01 00:00:00 1970 +0000
531 | summary: A0
532 |
533 o changeset: 0:ea207398892e
534 user: test
535 date: Thu Jan 01 00:00:00 1970 +0000
536 summary: ROOT
537
538 # Simulate a fold
539 $ hg up -r "desc(ROOT)"
540 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
541 $ echo "A0" > A0
542 $ echo "B0" > B0
543 $ hg commit -A -m "C0"
544 adding A0
545 adding B0
546 created new head
547 $ hg debugobsolete `getid "desc(A0)"` `getid "desc(C0)"`
548 $ hg debugobsolete `getid "desc(B1)"` `getid "desc(C0)"`
549
550 $ hg log --hidden -G
551 @ changeset: 4:eb5a0daa2192
552 | tag: tip
553 | parent: 0:ea207398892e
554 | user: test
555 | date: Thu Jan 01 00:00:00 1970 +0000
556 | summary: C0
557 |
558 | x changeset: 3:b7ea6d14e664
559 | | parent: 1:471f378eab4c
560 | | user: test
561 | | date: Thu Jan 01 00:00:00 1970 +0000
562 | | summary: B1
563 | |
564 | | x changeset: 2:0dec01379d3b
565 | |/ user: test
566 | | date: Thu Jan 01 00:00:00 1970 +0000
567 | | summary: B0
568 | |
569 | x changeset: 1:471f378eab4c
570 |/ user: test
571 | date: Thu Jan 01 00:00:00 1970 +0000
572 | summary: A0
573 |
574 o changeset: 0:ea207398892e
575 user: test
576 date: Thu Jan 01 00:00:00 1970 +0000
577 summary: ROOT
578
579 Check templates
580 ---------------
581
582 $ hg up 'desc(A0)' --hidden
583 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
584
585 Predecessors template should show current revision as it is the working copy
586 $ hg tlog
587 o eb5a0daa2192
588 | Predecessors: 471f378eab4c
589 | semi-colon: 471f378eab4c
590 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
591 | @ 471f378eab4c
592 |/
593 o ea207398892e
594
595 $ hg up 'desc(B0)' --hidden
596 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
597
598 Predecessors template should both predecessors as they are visible
599 $ hg tlog
600 o eb5a0daa2192
601 | Predecessors: 0dec01379d3b 471f378eab4c
602 | semi-colon: 0dec01379d3b; 471f378eab4c
603 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", "471f378eab4c5e25f6c77f785b27c936efb22874"]
604 | @ 0dec01379d3b
605 | |
606 | x 471f378eab4c
607 |/
608 o ea207398892e
609
610 $ hg up 'desc(B1)' --hidden
611 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
612
613 Predecessors template should both predecessors as they are visible
614 $ hg tlog
615 o eb5a0daa2192
616 | Predecessors: 471f378eab4c b7ea6d14e664
617 | semi-colon: 471f378eab4c; b7ea6d14e664
618 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874", "b7ea6d14e664bdc8922221f7992631b50da3fb07"]
619 | @ b7ea6d14e664
620 | |
621 | x 471f378eab4c
622 |/
623 o ea207398892e
624
625 $ hg up 'desc(C0)'
626 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
627
628 Predecessors template should show no predecessors as they are both non visible
629 $ hg tlog
630 @ eb5a0daa2192
631 |
632 o ea207398892e
633
634 Predecessors template should show all predecessors as we force their display
635 with --hidden
636 $ hg tlog --hidden
637 @ eb5a0daa2192
638 | Predecessors: 471f378eab4c b7ea6d14e664
639 | semi-colon: 471f378eab4c; b7ea6d14e664
640 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874", "b7ea6d14e664bdc8922221f7992631b50da3fb07"]
641 | x b7ea6d14e664
642 | | Predecessors: 0dec01379d3b
643 | | semi-colon: 0dec01379d3b
644 | | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]
645 | | x 0dec01379d3b
646 | |/
647 | x 471f378eab4c
648 |/
649 o ea207398892e
650
651
652 Test template with pushed and pulled obs markers
653 ================================================
654
655 Test setup
656 ----------
657
658 $ hg init $TESTTMP/templates-local-remote-markers-1
659 $ cd $TESTTMP/templates-local-remote-markers-1
660 $ mkcommit ROOT
661 $ mkcommit A0
662 $ hg clone $TESTTMP/templates-local-remote-markers-1 $TESTTMP/templates-local-remote-markers-2
663 updating to branch default
664 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
665 $ cd $TESTTMP/templates-local-remote-markers-2
666 $ hg log --hidden -G
667 @ changeset: 1:471f378eab4c
668 | tag: tip
669 | user: test
670 | date: Thu Jan 01 00:00:00 1970 +0000
671 | summary: A0
672 |
673 o changeset: 0:ea207398892e
674 user: test
675 date: Thu Jan 01 00:00:00 1970 +0000
676 summary: ROOT
677
678 $ cd $TESTTMP/templates-local-remote-markers-1
679 $ hg commit --amend -m "A1"
680 $ hg commit --amend -m "A2"
681 $ hg log --hidden -G
682 @ changeset: 3:7a230b46bf61
683 | tag: tip
684 | parent: 0:ea207398892e
685 | user: test
686 | date: Thu Jan 01 00:00:00 1970 +0000
687 | summary: A2
688 |
689 | x changeset: 2:fdf9bde5129a
690 |/ parent: 0:ea207398892e
691 | user: test
692 | date: Thu Jan 01 00:00:00 1970 +0000
693 | summary: A1
694 |
695 | x changeset: 1:471f378eab4c
696 |/ user: test
697 | date: Thu Jan 01 00:00:00 1970 +0000
698 | summary: A0
699 |
700 o changeset: 0:ea207398892e
701 user: test
702 date: Thu Jan 01 00:00:00 1970 +0000
703 summary: ROOT
704
705 $ cd $TESTTMP/templates-local-remote-markers-2
706 $ hg pull
707 pulling from $TESTTMP/templates-local-remote-markers-1 (glob)
708 searching for changes
709 adding changesets
710 adding manifests
711 adding file changes
712 added 1 changesets with 0 changes to 1 files (+1 heads)
713 2 new obsolescence markers
714 (run 'hg heads' to see heads, 'hg merge' to merge)
715 $ hg log --hidden -G
716 o changeset: 2:7a230b46bf61
717 | tag: tip
718 | parent: 0:ea207398892e
719 | user: test
720 | date: Thu Jan 01 00:00:00 1970 +0000
721 | summary: A2
722 |
723 | @ changeset: 1:471f378eab4c
724 |/ user: test
725 | date: Thu Jan 01 00:00:00 1970 +0000
726 | summary: A0
727 |
728 o changeset: 0:ea207398892e
729 user: test
730 date: Thu Jan 01 00:00:00 1970 +0000
731 summary: ROOT
732
733
734 $ hg debugobsolete
735 471f378eab4c5e25f6c77f785b27c936efb22874 fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
736 fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e 7a230b46bf61e50b30308c6cfd7bd1269ef54702 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
737
738 Check templates
739 ---------------
740
741 Predecessors template should show current revision as it is the working copy
742 $ hg tlog
743 o 7a230b46bf61
744 | Predecessors: 471f378eab4c
745 | semi-colon: 471f378eab4c
746 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
747 | @ 471f378eab4c
748 |/
749 o ea207398892e
750
751 $ hg up 'desc(A2)'
752 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
753
754 Predecessors template should show no predecessors as they are non visible
755 $ hg tlog
756 @ 7a230b46bf61
757 |
758 o ea207398892e
759
760 Predecessors template should show all predecessors as we force their display
761 with --hidden
762 $ hg tlog --hidden
763 @ 7a230b46bf61
764 | Predecessors: 471f378eab4c
765 | semi-colon: 471f378eab4c
766 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
767 | x 471f378eab4c
768 |/
769 o ea207398892e
770
771
772 Test template with obsmarkers cycle
773 ===================================
774
775 Test setup
776 ----------
777
778 $ hg init $TESTTMP/templates-local-cycle
779 $ cd $TESTTMP/templates-local-cycle
780 $ mkcommit ROOT
781 $ mkcommit A0
782 $ mkcommit B0
783 $ hg up -r 0
784 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
785 $ mkcommit C0
786 created new head
787
788 Create the cycle
789
790 $ hg debugobsolete `getid "desc(A0)"` `getid "desc(B0)"`
791 $ hg debugobsolete `getid "desc(B0)"` `getid "desc(C0)"`
792 $ hg debugobsolete `getid "desc(B0)"` `getid "desc(A0)"`
793
794 Check templates
795 ---------------
796
797 $ hg tlog
798 @ f897c6137566
799 |
800 o ea207398892e
801
802
803 $ hg up -r "desc(B0)" --hidden
804 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
805 $ hg tlog
806 o f897c6137566
807 | Predecessors: 0dec01379d3b
808 | semi-colon: 0dec01379d3b
809 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]
810 | @ 0dec01379d3b
811 | | Predecessors: 471f378eab4c
812 | | semi-colon: 471f378eab4c
813 | | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
814 | x 471f378eab4c
815 |/ Predecessors: 0dec01379d3b
816 | semi-colon: 0dec01379d3b
817 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]
818 o ea207398892e
819
820
821 $ hg up -r "desc(A0)" --hidden
822 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
823 $ hg tlog
824 o f897c6137566
825 | Predecessors: 471f378eab4c
826 | semi-colon: 471f378eab4c
827 | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
828 | @ 471f378eab4c
829 |/
830 o ea207398892e
831
832
833 $ hg up -r "desc(ROOT)" --hidden
834 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
835 $ hg tlog
836 o f897c6137566
837 |
838 @ ea207398892e
839
840
841 $ hg tlog --hidden
842 o f897c6137566
843 | Predecessors: 0dec01379d3b
844 | semi-colon: 0dec01379d3b
845 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]
846 | x 0dec01379d3b
847 | | Predecessors: 471f378eab4c
848 | | semi-colon: 471f378eab4c
849 | | json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
850 | x 471f378eab4c
851 |/ Predecessors: 0dec01379d3b
852 | semi-colon: 0dec01379d3b
853 | json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]
854 @ ea207398892e
855