Mercurial > evolve
comparison tests/test-evolve-obshistory.t @ 2407:783a74c60a5e
obshistory: add a graph option on the debugobshistory command
Add a graph option (--graph) to the debugobshistory. The output is
like the 'hg log -G' output. The option is activated by default but
can be deactivated with '--no-graph' option.
There are various issue with the current implementation (multiple cycles
handling, N² complexity) but this can be fixed later.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 18 May 2017 11:29:27 +0200 |
parents | c07f752137f4 |
children | 0756d36696bc |
comparison
equal
deleted
inserted
replaced
2406:31255706b591 | 2407:783a74c60a5e |
---|---|
52 summary: ROOT | 52 summary: ROOT |
53 | 53 |
54 Actual test | 54 Actual test |
55 ----------- | 55 ----------- |
56 $ hg debugobshistory 4ae3a4151de9 | 56 $ hg debugobshistory 4ae3a4151de9 |
57 4ae3a4151de9 (3) A1 | 57 @ 4ae3a4151de9 (3) A1 |
58 471f378eab4c (1) A0 | 58 | |
59 rewritten by test (*20*) as 4ae3a4151de9 (glob) | 59 x 471f378eab4c (1) A0 |
60 $ hg debugobshistory 4ae3a4151de9 -Tjson | python -m json.tool | 60 rewritten by test (*20*) as 4ae3a4151de9 (glob) |
61 | |
62 $ hg debugobshistory 4ae3a4151de9 --no-graph -Tjson | python -m json.tool | |
61 [ | 63 [ |
62 { | 64 { |
63 "debugobshistory.markers": [], | 65 "debugobshistory.markers": [], |
64 "debugobshistory.node": "4ae3a4151de9", | 66 "debugobshistory.node": "4ae3a4151de9", |
65 "debugobshistory.rev": 3, | 67 "debugobshistory.rev": 3, |
83 "debugobshistory.rev": 1, | 85 "debugobshistory.rev": 1, |
84 "debugobshistory.shortdescription": "A0" | 86 "debugobshistory.shortdescription": "A0" |
85 } | 87 } |
86 ] | 88 ] |
87 $ hg debugobshistory --hidden 471f378eab4c | 89 $ hg debugobshistory --hidden 471f378eab4c |
88 471f378eab4c (1) A0 | 90 x 471f378eab4c (1) A0 |
89 rewritten by test (*20*) as 4ae3a4151de9 (glob) | 91 rewritten by test (*20*) as 4ae3a4151de9 (glob) |
90 $ hg debugobshistory --hidden 471f378eab4c -Tjson | python -m json.tool | 92 |
93 $ hg debugobshistory --hidden 471f378eab4c --no-graph -Tjson | python -m json.tool | |
91 [ | 94 [ |
92 { | 95 { |
93 "debugobshistory.markers": [ | 96 "debugobshistory.markers": [ |
94 { | 97 { |
95 "debugobshistory.marker_date": [ | 98 "debugobshistory.marker_date": [ |
169 | 172 |
170 Actual test | 173 Actual test |
171 ----------- | 174 ----------- |
172 | 175 |
173 $ hg debugobshistory 'desc(B0)' --hidden | 176 $ hg debugobshistory 'desc(B0)' --hidden |
174 0dec01379d3b (2) B0 | 177 x 0dec01379d3b (2) B0 |
175 pruned by test (*20*) (glob) | 178 pruned by test (*20*) (glob) |
176 $ hg debugobshistory 'desc(B0)' --hidden -Tjson | python -m json.tool | 179 |
180 $ hg debugobshistory 'desc(B0)' --hidden --no-graph -Tjson | python -m json.tool | |
177 [ | 181 [ |
178 { | 182 { |
179 "debugobshistory.markers": [ | 183 "debugobshistory.markers": [ |
180 { | 184 { |
181 "debugobshistory.marker_date": [ | 185 "debugobshistory.marker_date": [ |
190 "debugobshistory.rev": 2, | 194 "debugobshistory.rev": 2, |
191 "debugobshistory.shortdescription": "B0" | 195 "debugobshistory.shortdescription": "B0" |
192 } | 196 } |
193 ] | 197 ] |
194 $ hg debugobshistory 'desc(A0)' | 198 $ hg debugobshistory 'desc(A0)' |
195 471f378eab4c (1) A0 | 199 @ 471f378eab4c (1) A0 |
196 $ hg debugobshistory 'desc(A0)' -Tjson | python -m json.tool | 200 |
201 $ hg debugobshistory 'desc(A0)' --no-graph -Tjson | python -m json.tool | |
197 [ | 202 [ |
198 { | 203 { |
199 "debugobshistory.markers": [], | 204 "debugobshistory.markers": [], |
200 "debugobshistory.node": "471f378eab4c", | 205 "debugobshistory.node": "471f378eab4c", |
201 "debugobshistory.rev": 1, | 206 "debugobshistory.rev": 1, |
298 summary: ROOT | 303 summary: ROOT |
299 | 304 |
300 Actual test | 305 Actual test |
301 ----------- | 306 ----------- |
302 | 307 |
308 Check that debugobshistory on splitted commit show both targets | |
303 $ hg debugobshistory 471597cad322 --hidden | 309 $ hg debugobshistory 471597cad322 --hidden |
304 471597cad322 (1) A0 | 310 x 471597cad322 (1) A0 |
305 rewritten by test (*20*) as 337fec4d2edc, f257fde29c7a (glob) | 311 rewritten by test (*20*) as 337fec4d2edc, f257fde29c7a (glob) |
306 $ hg debugobshistory 471597cad322 --hidden -Tjson | python -m json.tool | 312 |
313 $ hg debugobshistory 471597cad322 --hidden --no-graph -Tjson | python -m json.tool | |
307 [ | 314 [ |
308 { | 315 { |
309 "debugobshistory.markers": [ | 316 "debugobshistory.markers": [ |
310 { | 317 { |
311 "debugobshistory.marker_date": [ | 318 "debugobshistory.marker_date": [ |
323 "debugobshistory.node": "471597cad322", | 330 "debugobshistory.node": "471597cad322", |
324 "debugobshistory.rev": 1, | 331 "debugobshistory.rev": 1, |
325 "debugobshistory.shortdescription": "A0" | 332 "debugobshistory.shortdescription": "A0" |
326 } | 333 } |
327 ] | 334 ] |
335 Check that debugobshistory on the first successor after split show | |
336 the revision plus the splitted one | |
328 $ hg debugobshistory 337fec4d2edc | 337 $ hg debugobshistory 337fec4d2edc |
329 337fec4d2edc (2) A0 | 338 o 337fec4d2edc (2) A0 |
330 471597cad322 (1) A0 | 339 | |
331 rewritten by test (*20*) as 337fec4d2edc, f257fde29c7a (glob) | 340 x 471597cad322 (1) A0 |
332 $ hg debugobshistory 337fec4d2edc -Tjson | python -m json.tool | 341 rewritten by test (*20*) as 337fec4d2edc, f257fde29c7a (glob) |
333 [ | 342 |
334 { | 343 Check that debugobshistory on the second successor after split show |
335 "debugobshistory.markers": [], | 344 the revision plus the splitted one |
336 "debugobshistory.node": "337fec4d2edc", | |
337 "debugobshistory.rev": 2, | |
338 "debugobshistory.shortdescription": "A0" | |
339 }, | |
340 { | |
341 "debugobshistory.markers": [ | |
342 { | |
343 "debugobshistory.marker_date": [ | |
344 *, (glob) | |
345 0 (glob) | |
346 ], | |
347 "debugobshistory.marker_user": "test", | |
348 "debugobshistory.succnodes": [ | |
349 "337fec4d2edc", | |
350 "f257fde29c7a" | |
351 ], | |
352 "debugobshistory.verb": "rewritten" | |
353 } | |
354 ], | |
355 "debugobshistory.node": "471597cad322", | |
356 "debugobshistory.rev": 1, | |
357 "debugobshistory.shortdescription": "A0" | |
358 } | |
359 ] | |
360 $ hg debugobshistory f257fde29c7a | 345 $ hg debugobshistory f257fde29c7a |
361 f257fde29c7a (3) A0 | 346 @ f257fde29c7a (3) A0 |
362 471597cad322 (1) A0 | 347 | |
363 rewritten by test (*20*) as 337fec4d2edc, f257fde29c7a (glob) | 348 x 471597cad322 (1) A0 |
364 $ hg debugobshistory f257fde29c7a -Tjson | python -m json.tool | 349 rewritten by test (*20*) as 337fec4d2edc, f257fde29c7a (glob) |
365 [ | 350 |
366 { | 351 Check that debugobshistory on both successors after split show |
367 "debugobshistory.markers": [], | 352 a coherent graph |
368 "debugobshistory.node": "f257fde29c7a", | 353 $ hg debugobshistory 'f257fde29c7a+337fec4d2edc' |
369 "debugobshistory.rev": 3, | 354 o 337fec4d2edc (2) A0 |
370 "debugobshistory.shortdescription": "A0" | 355 | |
371 }, | 356 | @ f257fde29c7a (3) A0 |
372 { | 357 |/ |
373 "debugobshistory.markers": [ | 358 x 471597cad322 (1) A0 |
374 { | 359 rewritten by test (*20*) as 337fec4d2edc, f257fde29c7a (glob) |
375 "debugobshistory.marker_date": [ | 360 |
376 *, (glob) | |
377 0 (glob) | |
378 ], | |
379 "debugobshistory.marker_user": "test", | |
380 "debugobshistory.succnodes": [ | |
381 "337fec4d2edc", | |
382 "f257fde29c7a" | |
383 ], | |
384 "debugobshistory.verb": "rewritten" | |
385 } | |
386 ], | |
387 "debugobshistory.node": "471597cad322", | |
388 "debugobshistory.rev": 1, | |
389 "debugobshistory.shortdescription": "A0" | |
390 } | |
391 ] | |
392 $ hg update 471597cad322 | 361 $ hg update 471597cad322 |
393 abort: hidden revision '471597cad322'! | 362 abort: hidden revision '471597cad322'! |
394 (use --hidden to access hidden revisions; successors: 337fec4d2edc, f257fde29c7a) | 363 (use --hidden to access hidden revisions; successors: 337fec4d2edc, f257fde29c7a) |
395 [255] | 364 [255] |
396 $ hg update --hidden 'min(desc(A0))' | 365 $ hg update --hidden 'min(desc(A0))' |
550 | 519 |
551 Actual test | 520 Actual test |
552 ----------- | 521 ----------- |
553 | 522 |
554 $ hg debugobshistory de7290d8b885 --hidden | 523 $ hg debugobshistory de7290d8b885 --hidden |
555 de7290d8b885 (1) A0 | 524 x de7290d8b885 (1) A0 |
556 rewritten by test (*20*) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a (glob) | 525 rewritten by test (*20*) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a (glob) |
557 $ hg debugobshistory de7290d8b885 --hidden -Tjson | python -m json.tool | 526 |
527 $ hg debugobshistory de7290d8b885 --hidden --no-graph -Tjson | python -m json.tool | |
558 [ | 528 [ |
559 { | 529 { |
560 "debugobshistory.markers": [ | 530 "debugobshistory.markers": [ |
561 { | 531 { |
562 "debugobshistory.marker_date": [ | 532 "debugobshistory.marker_date": [ |
577 "debugobshistory.rev": 1, | 547 "debugobshistory.rev": 1, |
578 "debugobshistory.shortdescription": "A0" | 548 "debugobshistory.shortdescription": "A0" |
579 } | 549 } |
580 ] | 550 ] |
581 $ hg debugobshistory c7f044602e9b | 551 $ hg debugobshistory c7f044602e9b |
582 c7f044602e9b (5) A0 | 552 @ c7f044602e9b (5) A0 |
583 de7290d8b885 (1) A0 | 553 | |
584 rewritten by test (*20*) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a (glob) | 554 x de7290d8b885 (1) A0 |
585 $ hg debugobshistory c7f044602e9b -Tjson | python -m json.tool | 555 rewritten by test (*20*) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a (glob) |
556 | |
557 $ hg debugobshistory c7f044602e9b --no-graph -Tjson | python -m json.tool | |
586 [ | 558 [ |
587 { | 559 { |
588 "debugobshistory.markers": [], | 560 "debugobshistory.markers": [], |
589 "debugobshistory.node": "c7f044602e9b", | 561 "debugobshistory.node": "c7f044602e9b", |
590 "debugobshistory.rev": 5, | 562 "debugobshistory.rev": 5, |
610 "debugobshistory.node": "de7290d8b885", | 582 "debugobshistory.node": "de7290d8b885", |
611 "debugobshistory.rev": 1, | 583 "debugobshistory.rev": 1, |
612 "debugobshistory.shortdescription": "A0" | 584 "debugobshistory.shortdescription": "A0" |
613 } | 585 } |
614 ] | 586 ] |
615 $ hg debugobshistory 2:5 | 587 Check that debugobshistory on all heads show a coherent graph |
616 337fec4d2edc (2) A0 | 588 $ hg debugobshistory 2::5 |
617 de7290d8b885 (1) A0 | 589 o 1ae8bc733a14 (4) A0 |
618 rewritten by test (*20*) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a (glob) | 590 | |
619 f257fde29c7a (3) A0 | 591 | o 337fec4d2edc (2) A0 |
620 1ae8bc733a14 (4) A0 | 592 |/ |
621 c7f044602e9b (5) A0 | 593 | @ c7f044602e9b (5) A0 |
594 |/ | |
595 | o f257fde29c7a (3) A0 | |
596 |/ | |
597 x de7290d8b885 (1) A0 | |
598 rewritten by test (*20*) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a (glob) | |
599 | |
622 $ hg update de7290d8b885 | 600 $ hg update de7290d8b885 |
623 abort: hidden revision 'de7290d8b885'! | 601 abort: hidden revision 'de7290d8b885'! |
624 (use --hidden to access hidden revisions; successors: 337fec4d2edc, f257fde29c7a and 2 more) | 602 (use --hidden to access hidden revisions; successors: 337fec4d2edc, f257fde29c7a and 2 more) |
625 [255] | 603 [255] |
626 $ hg update --hidden 'min(desc(A0))' | 604 $ hg update --hidden 'min(desc(A0))' |
683 summary: ROOT | 661 summary: ROOT |
684 | 662 |
685 Actual test | 663 Actual test |
686 ----------- | 664 ----------- |
687 | 665 |
666 Check that debugobshistory on the first folded revision show only | |
667 the revision with the target | |
688 $ hg debugobshistory --hidden 471f378eab4c | 668 $ hg debugobshistory --hidden 471f378eab4c |
689 471f378eab4c (1) A0 | 669 x 471f378eab4c (1) A0 |
690 rewritten by test (*20*) as eb5a0daa2192 (glob) | 670 rewritten by test (*20*) as eb5a0daa2192 (glob) |
691 $ hg debugobshistory --hidden 471f378eab4c -Tjson | python -m json.tool | 671 |
692 [ | 672 Check that debugobshistory on the second folded revision show only |
693 { | 673 the revision with the target |
694 "debugobshistory.markers": [ | |
695 { | |
696 "debugobshistory.marker_date": [ | |
697 *, (glob) | |
698 0 (glob) | |
699 ], | |
700 "debugobshistory.marker_user": "test", | |
701 "debugobshistory.succnodes": [ | |
702 "eb5a0daa2192" | |
703 ], | |
704 "debugobshistory.verb": "rewritten" | |
705 } | |
706 ], | |
707 "debugobshistory.node": "471f378eab4c", | |
708 "debugobshistory.rev": 1, | |
709 "debugobshistory.shortdescription": "A0" | |
710 } | |
711 ] | |
712 $ hg debugobshistory --hidden 0dec01379d3b | 674 $ hg debugobshistory --hidden 0dec01379d3b |
713 0dec01379d3b (2) B0 | 675 x 0dec01379d3b (2) B0 |
714 rewritten by test (*20*) as eb5a0daa2192 (glob) | 676 rewritten by test (*20*) as eb5a0daa2192 (glob) |
715 $ hg debugobshistory --hidden 0dec01379d3b -Tjson | python -m json.tool | 677 |
716 [ | 678 Check that debugobshistory on the successor revision show a coherent |
717 { | 679 graph |
718 "debugobshistory.markers": [ | |
719 { | |
720 "debugobshistory.marker_date": [ | |
721 *, (glob) | |
722 0 (glob) | |
723 ], | |
724 "debugobshistory.marker_user": "test", | |
725 "debugobshistory.succnodes": [ | |
726 "eb5a0daa2192" | |
727 ], | |
728 "debugobshistory.verb": "rewritten" | |
729 } | |
730 ], | |
731 "debugobshistory.node": "0dec01379d3b", | |
732 "debugobshistory.rev": 2, | |
733 "debugobshistory.shortdescription": "B0" | |
734 } | |
735 ] | |
736 $ hg debugobshistory eb5a0daa2192 | 680 $ hg debugobshistory eb5a0daa2192 |
737 eb5a0daa2192 (3) C0 | 681 @ eb5a0daa2192 (3) C0 |
738 471f378eab4c (1) A0 | 682 |\ |
739 rewritten by test (*20*) as eb5a0daa2192 (glob) | 683 x | 0dec01379d3b (2) B0 |
740 0dec01379d3b (2) B0 | 684 / rewritten by test (*20*) as eb5a0daa2192 (glob) |
741 rewritten by test (*20*) as eb5a0daa2192 (glob) | 685 | |
742 $ hg debugobshistory eb5a0daa2192 -Tjson | python -m json.tool | 686 x 471f378eab4c (1) A0 |
687 rewritten by test (*20*) as eb5a0daa2192 (glob) | |
688 | |
689 $ hg debugobshistory eb5a0daa2192 --no-graph -Tjson | python -m json.tool | |
743 [ | 690 [ |
744 { | 691 { |
745 "debugobshistory.markers": [], | 692 "debugobshistory.markers": [], |
746 "debugobshistory.node": "eb5a0daa2192", | 693 "debugobshistory.node": "eb5a0daa2192", |
747 "debugobshistory.rev": 3, | 694 "debugobshistory.rev": 3, |
865 summary: ROOT | 812 summary: ROOT |
866 | 813 |
867 Actual test | 814 Actual test |
868 ----------- | 815 ----------- |
869 | 816 |
817 Check that debugobshistory on the divergent revision show both destinations | |
870 $ hg debugobshistory --hidden 471f378eab4c | 818 $ hg debugobshistory --hidden 471f378eab4c |
871 471f378eab4c (1) A0 | 819 x 471f378eab4c (1) A0 |
872 rewritten by test (*20*) as 65b757b745b9 (glob) | 820 rewritten by test (*20*) as 65b757b745b9 (glob) |
873 rewritten by test (*20*) as fdf9bde5129a (glob) | 821 rewritten by test (*20*) as fdf9bde5129a (glob) |
874 $ hg debugobshistory --hidden 471f378eab4c -Tjson | python -m json.tool | 822 |
823 $ hg debugobshistory --hidden 471f378eab4c --no-graph -Tjson | python -m json.tool | |
875 [ | 824 [ |
876 { | 825 { |
877 "debugobshistory.markers": [ | 826 "debugobshistory.markers": [ |
878 { | 827 { |
879 "debugobshistory.marker_date": [ | 828 "debugobshistory.marker_date": [ |
901 "debugobshistory.node": "471f378eab4c", | 850 "debugobshistory.node": "471f378eab4c", |
902 "debugobshistory.rev": 1, | 851 "debugobshistory.rev": 1, |
903 "debugobshistory.shortdescription": "A0" | 852 "debugobshistory.shortdescription": "A0" |
904 } | 853 } |
905 ] | 854 ] |
855 Check that debugobshistory on the first diverged revision show the revision | |
856 and the diverent one | |
906 $ hg debugobshistory fdf9bde5129a | 857 $ hg debugobshistory fdf9bde5129a |
907 fdf9bde5129a (2) A1 | 858 o fdf9bde5129a (2) A1 |
908 471f378eab4c (1) A0 | 859 | |
909 rewritten by test (*20*) as 65b757b745b9 (glob) | 860 x 471f378eab4c (1) A0 |
910 rewritten by test (*20*) as fdf9bde5129a (glob) | 861 rewritten by test (*20*) as 65b757b745b9 (glob) |
911 $ hg debugobshistory fdf9bde5129a -Tjson | python -m json.tool | 862 rewritten by test (*20*) as fdf9bde5129a (glob) |
863 | |
864 Check that debugobshistory on the second diverged revision show the revision | |
865 and the diverent one | |
866 $ hg debugobshistory 65b757b745b9 | |
867 @ 65b757b745b9 (3) A2 | |
868 | | |
869 x 471f378eab4c (1) A0 | |
870 rewritten by test (*20*) as 65b757b745b9 (glob) | |
871 rewritten by test (*20*) as fdf9bde5129a (glob) | |
872 | |
873 Check that debugobshistory on the both diverged revision show a coherent | |
874 graph | |
875 $ hg debugobshistory '65b757b745b9+fdf9bde5129a' | |
876 @ 65b757b745b9 (3) A2 | |
877 | | |
878 | o fdf9bde5129a (2) A1 | |
879 |/ | |
880 x 471f378eab4c (1) A0 | |
881 rewritten by test (*20*) as 65b757b745b9 (glob) | |
882 rewritten by test (*20*) as fdf9bde5129a (glob) | |
883 | |
884 $ hg debugobshistory '65b757b745b9+fdf9bde5129a' --no-graph -Tjson | python -m json.tool | |
912 [ | 885 [ |
913 { | 886 { |
914 "debugobshistory.markers": [], | 887 "debugobshistory.markers": [], |
915 "debugobshistory.node": "fdf9bde5129a", | 888 "debugobshistory.node": "65b757b745b9", |
916 "debugobshistory.rev": 2, | 889 "debugobshistory.rev": 3, |
917 "debugobshistory.shortdescription": "A1" | 890 "debugobshistory.shortdescription": "A2" |
918 }, | 891 }, |
919 { | 892 { |
920 "debugobshistory.markers": [ | 893 "debugobshistory.markers": [ |
921 { | 894 { |
922 "debugobshistory.marker_date": [ | 895 "debugobshistory.marker_date": [ |
942 } | 915 } |
943 ], | 916 ], |
944 "debugobshistory.node": "471f378eab4c", | 917 "debugobshistory.node": "471f378eab4c", |
945 "debugobshistory.rev": 1, | 918 "debugobshistory.rev": 1, |
946 "debugobshistory.shortdescription": "A0" | 919 "debugobshistory.shortdescription": "A0" |
947 } | 920 }, |
948 ] | |
949 $ hg debugobshistory 65b757b745b9 | |
950 65b757b745b9 (3) A2 | |
951 471f378eab4c (1) A0 | |
952 rewritten by test (*20*) as 65b757b745b9 (glob) | |
953 rewritten by test (*20*) as fdf9bde5129a (glob) | |
954 $ hg debugobshistory 65b757b745b9 -Tjson | python -m json.tool | |
955 [ | |
956 { | 921 { |
957 "debugobshistory.markers": [], | 922 "debugobshistory.markers": [], |
958 "debugobshistory.node": "65b757b745b9", | 923 "debugobshistory.node": "fdf9bde5129a", |
959 "debugobshistory.rev": 3, | 924 "debugobshistory.rev": 2, |
960 "debugobshistory.shortdescription": "A2" | 925 "debugobshistory.shortdescription": "A1" |
961 }, | |
962 { | |
963 "debugobshistory.markers": [ | |
964 { | |
965 "debugobshistory.marker_date": [ | |
966 *, (glob) | |
967 0 (glob) | |
968 ], | |
969 "debugobshistory.marker_user": "test", | |
970 "debugobshistory.succnodes": [ | |
971 "65b757b745b9" | |
972 ], | |
973 "debugobshistory.verb": "rewritten" | |
974 }, | |
975 { | |
976 "debugobshistory.marker_date": [ | |
977 *, (glob) | |
978 0 (glob) | |
979 ], | |
980 "debugobshistory.marker_user": "test", | |
981 "debugobshistory.succnodes": [ | |
982 "fdf9bde5129a" | |
983 ], | |
984 "debugobshistory.verb": "rewritten" | |
985 } | |
986 ], | |
987 "debugobshistory.node": "471f378eab4c", | |
988 "debugobshistory.rev": 1, | |
989 "debugobshistory.shortdescription": "A0" | |
990 } | 926 } |
991 ] | 927 ] |
992 $ hg update 471f378eab4c | 928 $ hg update 471f378eab4c |
993 abort: hidden revision '471f378eab4c'! | 929 abort: hidden revision '471f378eab4c'! |
994 (use --hidden to access hidden revisions; diverged) | 930 (use --hidden to access hidden revisions; diverged) |
1066 summary: ROOT | 1002 summary: ROOT |
1067 | 1003 |
1068 Actual test | 1004 Actual test |
1069 ----------- | 1005 ----------- |
1070 | 1006 |
1071 $ hg debugobshistory --hidden 471f378eab4c | 1007 Check that debugobshistory on head show a coherent graph |
1072 471f378eab4c (1) A0 | |
1073 rewritten by test (*20*) as eb5a0daa2192 (glob) | |
1074 $ hg debugobshistory --hidden 471f378eab4c -Tjson | python -m json.tool | |
1075 [ | |
1076 { | |
1077 "debugobshistory.markers": [ | |
1078 { | |
1079 "debugobshistory.marker_date": [ | |
1080 *, (glob) | |
1081 0 (glob) | |
1082 ], | |
1083 "debugobshistory.marker_user": "test", | |
1084 "debugobshistory.succnodes": [ | |
1085 "eb5a0daa2192" | |
1086 ], | |
1087 "debugobshistory.verb": "rewritten" | |
1088 } | |
1089 ], | |
1090 "debugobshistory.node": "471f378eab4c", | |
1091 "debugobshistory.rev": 1, | |
1092 "debugobshistory.shortdescription": "A0" | |
1093 } | |
1094 ] | |
1095 $ hg debugobshistory --hidden 0dec01379d3b | |
1096 0dec01379d3b (2) B0 | |
1097 rewritten by test (*20*) as b7ea6d14e664 (glob) | |
1098 $ hg debugobshistory --hidden 0dec01379d3b -Tjson | python -m json.tool | |
1099 [ | |
1100 { | |
1101 "debugobshistory.markers": [ | |
1102 { | |
1103 "debugobshistory.marker_date": [ | |
1104 *, (glob) | |
1105 0 (glob) | |
1106 ], | |
1107 "debugobshistory.marker_user": "test", | |
1108 "debugobshistory.succnodes": [ | |
1109 "b7ea6d14e664" | |
1110 ], | |
1111 "debugobshistory.verb": "rewritten" | |
1112 } | |
1113 ], | |
1114 "debugobshistory.node": "0dec01379d3b", | |
1115 "debugobshistory.rev": 2, | |
1116 "debugobshistory.shortdescription": "B0" | |
1117 } | |
1118 ] | |
1119 $ hg debugobshistory eb5a0daa2192 | 1008 $ hg debugobshistory eb5a0daa2192 |
1120 eb5a0daa2192 (4) C0 | 1009 @ eb5a0daa2192 (4) C0 |
1121 b7ea6d14e664 (3) B1 | 1010 |\ |
1122 rewritten by test (*20*) as eb5a0daa2192 (glob) | 1011 x | 471f378eab4c (1) A0 |
1123 0dec01379d3b (2) B0 | 1012 / rewritten by test (*20*) as eb5a0daa2192 (glob) |
1124 rewritten by test (*20*) as b7ea6d14e664 (glob) | 1013 | |
1125 471f378eab4c (1) A0 | 1014 x b7ea6d14e664 (3) B1 |
1126 rewritten by test (*20*) as eb5a0daa2192 (glob) | 1015 | rewritten by test (*20*) as eb5a0daa2192 (glob) |
1127 $ hg debugobshistory eb5a0daa2192 -Tjson | python -m json.tool | 1016 | |
1017 x 0dec01379d3b (2) B0 | |
1018 rewritten by test (*20*) as b7ea6d14e664 (glob) | |
1019 | |
1020 $ hg debugobshistory eb5a0daa2192 --no-graph -Tjson | python -m json.tool | |
1128 [ | 1021 [ |
1129 { | 1022 { |
1130 "debugobshistory.markers": [], | 1023 "debugobshistory.markers": [], |
1131 "debugobshistory.node": "eb5a0daa2192", | 1024 "debugobshistory.node": "eb5a0daa2192", |
1132 "debugobshistory.rev": 4, | 1025 "debugobshistory.rev": 4, |
1275 | 1168 |
1276 Actual test | 1169 Actual test |
1277 ----------- | 1170 ----------- |
1278 | 1171 |
1279 $ hg debugobshistory 7a230b46bf61 | 1172 $ hg debugobshistory 7a230b46bf61 |
1280 7a230b46bf61 (3) A2 | 1173 @ 7a230b46bf61 (3) A2 |
1281 fdf9bde5129a (2) A1 | 1174 | |
1282 rewritten by test (*20*) as 7a230b46bf61 (glob) | 1175 x fdf9bde5129a (2) A1 |
1283 471f378eab4c (1) A0 | 1176 | rewritten by test (*20*) as 7a230b46bf61 (glob) |
1284 rewritten by test (*20*) as fdf9bde5129a (glob) | 1177 | |
1178 x 471f378eab4c (1) A0 | |
1179 rewritten by test (*20*) as fdf9bde5129a (glob) | |
1180 | |
1285 $ cd $TESTTMP/local-remote-markers-2 | 1181 $ cd $TESTTMP/local-remote-markers-2 |
1286 $ hg pull | 1182 $ hg pull |
1287 pulling from $TESTTMP/local-remote-markers-1 | 1183 pulling from $TESTTMP/local-remote-markers-1 |
1288 searching for changes | 1184 searching for changes |
1289 adding changesets | 1185 adding changesets |
1292 added 1 changesets with 0 changes to 1 files (+1 heads) | 1188 added 1 changesets with 0 changes to 1 files (+1 heads) |
1293 2 new obsolescence markers | 1189 2 new obsolescence markers |
1294 (run 'hg heads' to see heads, 'hg merge' to merge) | 1190 (run 'hg heads' to see heads, 'hg merge' to merge) |
1295 working directory parent is obsolete! (471f378eab4c) | 1191 working directory parent is obsolete! (471f378eab4c) |
1296 (use 'hg evolve' to update to its successor: 7a230b46bf61) | 1192 (use 'hg evolve' to update to its successor: 7a230b46bf61) |
1297 $ hg debugobshistory 7a230b46bf61 --traceback | 1193 Check that debugobshistory works with markers pointing to missing local |
1298 7a230b46bf61 (2) A2 | 1194 changectx |
1299 fdf9bde5129a | 1195 $ hg debugobshistory 7a230b46bf61 |
1300 rewritten by test (*20*) as 7a230b46bf61 (glob) | 1196 o 7a230b46bf61 (2) A2 |
1301 471f378eab4c (1) A0 | 1197 | |
1302 rewritten by test (*20*) as fdf9bde5129a (glob) | 1198 x fdf9bde5129a |
1199 | rewritten by test (*20*) as 7a230b46bf61 (glob) | |
1200 | | |
1201 @ 471f378eab4c (1) A0 | |
1202 rewritten by test (*20*) as fdf9bde5129a (glob) | |
1203 | |
1303 $ hg debugobshistory 7a230b46bf61 --color=debug | 1204 $ hg debugobshistory 7a230b46bf61 --color=debug |
1304 [evolve.node|7a230b46bf61] [evolve.rev|(2)] [evolve.short_description|A2] | 1205 o [evolve.node|7a230b46bf61] [evolve.rev|(2)] [evolve.short_description|A2] |
1305 [evolve.node evolve.missing_change_ctx|fdf9bde5129a] | 1206 | |
1306 [evolve.verb|rewritten] by [evolve.user|test] [evolve.date|(*20*)] as [evolve.node|7a230b46bf61] (glob) | 1207 x [evolve.node evolve.missing_change_ctx|fdf9bde5129a] |
1307 [evolve.node|471f378eab4c] [evolve.rev|(1)] [evolve.short_description|A0] | 1208 | [evolve.verb|rewritten] by [evolve.user|test] [evolve.date|(*20*)] as [evolve.node|7a230b46bf61] (glob) |
1308 [evolve.verb|rewritten] by [evolve.user|test] [evolve.date|(*20*)] as [evolve.node|fdf9bde5129a] (glob) | 1209 | |
1210 @ [evolve.node|471f378eab4c] [evolve.rev|(1)] [evolve.short_description|A0] | |
1211 [evolve.verb|rewritten] by [evolve.user|test] [evolve.date|(*20*)] as [evolve.node|fdf9bde5129a] (glob) | |
1212 | |
1213 | |
1214 Test with cycle | |
1215 =============== | |
1216 | |
1217 Test setup | |
1218 ---------- | |
1219 | |
1220 $ hg init $TESTTMP/cycle | |
1221 $ cd $TESTTMP/cycle | |
1222 $ mkcommit ROOT | |
1223 $ mkcommit A | |
1224 $ mkcommit B | |
1225 $ mkcommit C | |
1226 $ hg log -G | |
1227 @ changeset: 3:a8df460dbbfe | |
1228 | tag: tip | |
1229 | user: test | |
1230 | date: Thu Jan 01 00:00:00 1970 +0000 | |
1231 | summary: C | |
1232 | | |
1233 o changeset: 2:c473644ee0e9 | |
1234 | user: test | |
1235 | date: Thu Jan 01 00:00:00 1970 +0000 | |
1236 | summary: B | |
1237 | | |
1238 o changeset: 1:2a34000d3544 | |
1239 | user: test | |
1240 | date: Thu Jan 01 00:00:00 1970 +0000 | |
1241 | summary: A | |
1242 | | |
1243 o changeset: 0:ea207398892e | |
1244 user: test | |
1245 date: Thu Jan 01 00:00:00 1970 +0000 | |
1246 summary: ROOT | |
1247 | |
1248 Create a cycle | |
1249 $ hg prune -s 2 1 | |
1250 1 changesets pruned | |
1251 2 new unstable changesets | |
1252 $ hg prune -s 3 2 | |
1253 1 changesets pruned | |
1254 $ hg prune -s 1 3 | |
1255 0 files updated, 0 files merged, 2 files removed, 0 files unresolved | |
1256 working directory now at 2a34000d3544 | |
1257 1 changesets pruned | |
1258 $ hg log --hidden -G | |
1259 x changeset: 3:a8df460dbbfe | |
1260 | tag: tip | |
1261 | user: test | |
1262 | date: Thu Jan 01 00:00:00 1970 +0000 | |
1263 | summary: C | |
1264 | | |
1265 x changeset: 2:c473644ee0e9 | |
1266 | user: test | |
1267 | date: Thu Jan 01 00:00:00 1970 +0000 | |
1268 | summary: B | |
1269 | | |
1270 @ changeset: 1:2a34000d3544 | |
1271 | user: test | |
1272 | date: Thu Jan 01 00:00:00 1970 +0000 | |
1273 | summary: A | |
1274 | | |
1275 o changeset: 0:ea207398892e | |
1276 user: test | |
1277 date: Thu Jan 01 00:00:00 1970 +0000 | |
1278 summary: ROOT | |
1279 | |
1280 Actual test | |
1281 ----------- | |
1282 | |
1283 Check that debugobshistory never crash on a cycle | |
1284 | |
1285 $ hg debugobshistory 1 --hidden | |
1286 @ 2a34000d3544 (1) A | |
1287 | rewritten by test (*20*) as c473644ee0e9 (glob) | |
1288 | | |
1289 x a8df460dbbfe (3) C | |
1290 | rewritten by test (*20*) as 2a34000d3544 (glob) | |
1291 | | |
1292 x c473644ee0e9 (2) B | |
1293 | rewritten by test (*20*) as a8df460dbbfe (glob) | |
1294 | | |
1295 $ hg debugobshistory 2 --hidden | |
1296 @ 2a34000d3544 (1) A | |
1297 | rewritten by test (*20*) as c473644ee0e9 (glob) | |
1298 | | |
1299 x a8df460dbbfe (3) C | |
1300 | rewritten by test (*20*) as 2a34000d3544 (glob) | |
1301 | | |
1302 x c473644ee0e9 (2) B | |
1303 | rewritten by test (*20*) as a8df460dbbfe (glob) | |
1304 | | |
1305 $ hg debugobshistory 3 --hidden | |
1306 @ 2a34000d3544 (1) A | |
1307 | rewritten by test (*20*) as c473644ee0e9 (glob) | |
1308 | | |
1309 x a8df460dbbfe (3) C | |
1310 | rewritten by test (*20*) as 2a34000d3544 (glob) | |
1311 | | |
1312 x c473644ee0e9 (2) B | |
1313 | rewritten by test (*20*) as a8df460dbbfe (glob) | |
1314 | |