tests/test-evolve-obshistory.t
branchstable
changeset 2422 08f487d1e032
parent 2420 94d1c7a1905a
child 2431 0405bbda7402
child 2441 80b5fc054219
child 2478 e3ddb534e5d9
equal deleted inserted replaced
2384:2ddbdc1bab13 2422:08f487d1e032
    23   $ hg init $TESTTMP/local-amend
    23   $ hg init $TESTTMP/local-amend
    24   $ cd $TESTTMP/local-amend
    24   $ cd $TESTTMP/local-amend
    25   $ mkcommit ROOT
    25   $ mkcommit ROOT
    26   $ mkcommit A0
    26   $ mkcommit A0
    27   $ echo 42 >> A0
    27   $ echo 42 >> A0
    28   $ hg amend -m "A1"
    28   $ hg amend -m "A1
    29   $ hg log --hidden -G
    29   > 
    30   @  changeset:   3:a468dc9b3633
    30   > Better commit message"
       
    31   $ hg log --hidden -G
       
    32   @  changeset:   3:4ae3a4151de9
    31   |  tag:         tip
    33   |  tag:         tip
    32   |  parent:      0:ea207398892e
    34   |  parent:      0:ea207398892e
    33   |  user:        test
    35   |  user:        test
    34   |  date:        Thu Jan 01 00:00:00 1970 +0000
    36   |  date:        Thu Jan 01 00:00:00 1970 +0000
    35   |  summary:     A1
    37   |  summary:     A1
    49      date:        Thu Jan 01 00:00:00 1970 +0000
    51      date:        Thu Jan 01 00:00:00 1970 +0000
    50      summary:     ROOT
    52      summary:     ROOT
    51   
    53   
    52 Actual test
    54 Actual test
    53 -----------
    55 -----------
    54 
    56   $ hg olog 4ae3a4151de9
       
    57   @  4ae3a4151de9 (3) A1
       
    58   |
       
    59   x  471f378eab4c (1) A0
       
    60        rewritten by test (*20*) as 4ae3a4151de9 (glob)
       
    61   
       
    62   $ hg olog 4ae3a4151de9 --no-graph -Tjson | python -m json.tool
       
    63   [
       
    64       {
       
    65           "debugobshistory.markers": [],
       
    66           "debugobshistory.node": "4ae3a4151de9",
       
    67           "debugobshistory.rev": 3,
       
    68           "debugobshistory.shortdescription": "A1"
       
    69       },
       
    70       {
       
    71           "debugobshistory.markers": [
       
    72               {
       
    73                   "debugobshistory.marker_date": [
       
    74                       *, (glob)
       
    75                       0 (glob)
       
    76                   ],
       
    77                   "debugobshistory.marker_user": "test",
       
    78                   "debugobshistory.succnodes": [
       
    79                       "4ae3a4151de9"
       
    80                   ],
       
    81                   "debugobshistory.verb": "rewritten"
       
    82               }
       
    83           ],
       
    84           "debugobshistory.node": "471f378eab4c",
       
    85           "debugobshistory.rev": 1,
       
    86           "debugobshistory.shortdescription": "A0"
       
    87       }
       
    88   ]
       
    89   $ hg olog --hidden 471f378eab4c
       
    90   x  471f378eab4c (1) A0
       
    91        rewritten by test (*20*) as 4ae3a4151de9 (glob)
       
    92   
       
    93   $ hg olog --hidden 471f378eab4c --no-graph -Tjson | python -m json.tool
       
    94   [
       
    95       {
       
    96           "debugobshistory.markers": [
       
    97               {
       
    98                   "debugobshistory.marker_date": [
       
    99                       *, (glob)
       
   100                       0 (glob)
       
   101                   ],
       
   102                   "debugobshistory.marker_user": "test",
       
   103                   "debugobshistory.succnodes": [
       
   104                       "4ae3a4151de9"
       
   105                   ],
       
   106                   "debugobshistory.verb": "rewritten"
       
   107               }
       
   108           ],
       
   109           "debugobshistory.node": "471f378eab4c",
       
   110           "debugobshistory.rev": 1,
       
   111           "debugobshistory.shortdescription": "A0"
       
   112       }
       
   113   ]
    55   $ hg update 471f378eab4c
   114   $ hg update 471f378eab4c
    56   abort: hidden revision '471f378eab4c'!
   115   abort: hidden revision '471f378eab4c'!
    57   (use --hidden to access hidden revisions; successor: a468dc9b3633)
   116   (use --hidden to access hidden revisions; successor: 4ae3a4151de9)
    58   [255]
   117   [255]
    59   $ hg update --hidden "desc(A0)"
   118   $ hg update --hidden "desc(A0)"
    60   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   119   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
    61   working directory parent is obsolete! (471f378eab4c)
   120   working directory parent is obsolete! (471f378eab4c)
    62   (use 'hg evolve' to update to its successor: a468dc9b3633)
   121   (use 'hg evolve' to update to its successor: 4ae3a4151de9)
    63 
   122 
    64 Test output with pruned commit
   123 Test output with pruned commit
    65 ==============================
   124 ==============================
    66 
   125 
    67 Test setup
   126 Test setup
    91   
   150   
    92   $ hg prune -r 'desc(B0)'
   151   $ hg prune -r 'desc(B0)'
    93   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   152   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
    94   working directory now at 471f378eab4c
   153   working directory now at 471f378eab4c
    95   1 changesets pruned
   154   1 changesets pruned
       
   155   $ hg log --hidden -G
       
   156   x  changeset:   2:0dec01379d3b
       
   157   |  tag:         tip
       
   158   |  user:        test
       
   159   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
   160   |  summary:     B0
       
   161   |
       
   162   @  changeset:   1:471f378eab4c
       
   163   |  user:        test
       
   164   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
   165   |  summary:     A0
       
   166   |
       
   167   o  changeset:   0:ea207398892e
       
   168      user:        test
       
   169      date:        Thu Jan 01 00:00:00 1970 +0000
       
   170      summary:     ROOT
       
   171   
    96 
   172 
    97 Actual test
   173 Actual test
    98 -----------
   174 -----------
    99 
   175 
       
   176   $ hg olog 'desc(B0)' --hidden
       
   177   x  0dec01379d3b (2) B0
       
   178        pruned by test (*20*) (glob)
       
   179   
       
   180   $ hg olog 'desc(B0)' --hidden --no-graph -Tjson | python -m json.tool
       
   181   [
       
   182       {
       
   183           "debugobshistory.markers": [
       
   184               {
       
   185                   "debugobshistory.marker_date": [
       
   186                       *, (glob)
       
   187                       0 (glob)
       
   188                   ],
       
   189                   "debugobshistory.marker_user": "test",
       
   190                   "debugobshistory.verb": "pruned"
       
   191               }
       
   192           ],
       
   193           "debugobshistory.node": "0dec01379d3b",
       
   194           "debugobshistory.rev": 2,
       
   195           "debugobshistory.shortdescription": "B0"
       
   196       }
       
   197   ]
       
   198   $ hg olog 'desc(A0)'
       
   199   @  471f378eab4c (1) A0
       
   200   
       
   201   $ hg olog 'desc(A0)' --no-graph -Tjson | python -m json.tool
       
   202   [
       
   203       {
       
   204           "debugobshistory.markers": [],
       
   205           "debugobshistory.node": "471f378eab4c",
       
   206           "debugobshistory.rev": 1,
       
   207           "debugobshistory.shortdescription": "A0"
       
   208       }
       
   209   ]
   100   $ hg up 1
   210   $ hg up 1
   101   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   211   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   102   $ hg up 0dec01379d3b
   212   $ hg up 0dec01379d3b
   103   abort: hidden revision '0dec01379d3b'!
   213   abort: hidden revision '0dec01379d3b'!
   104   (use --hidden to access hidden revisions; pruned)
   214   (use --hidden to access hidden revisions; pruned)
   193      summary:     ROOT
   303      summary:     ROOT
   194   
   304   
   195 Actual test
   305 Actual test
   196 -----------
   306 -----------
   197 
   307 
       
   308 Check that debugobshistory on splitted commit show both targets
       
   309   $ hg olog 471597cad322 --hidden
       
   310   x  471597cad322 (1) A0
       
   311        rewritten by test (*20*) as 337fec4d2edc, f257fde29c7a (glob)
       
   312   
       
   313   $ hg olog 471597cad322 --hidden --no-graph -Tjson | python -m json.tool
       
   314   [
       
   315       {
       
   316           "debugobshistory.markers": [
       
   317               {
       
   318                   "debugobshistory.marker_date": [
       
   319                       *, (glob)
       
   320                       0 (glob)
       
   321                   ],
       
   322                   "debugobshistory.marker_user": "test",
       
   323                   "debugobshistory.succnodes": [
       
   324                       "337fec4d2edc",
       
   325                       "f257fde29c7a"
       
   326                   ],
       
   327                   "debugobshistory.verb": "rewritten"
       
   328               }
       
   329           ],
       
   330           "debugobshistory.node": "471597cad322",
       
   331           "debugobshistory.rev": 1,
       
   332           "debugobshistory.shortdescription": "A0"
       
   333       }
       
   334   ]
       
   335 Check that debugobshistory on the first successor after split show
       
   336 the revision plus the splitted one
       
   337   $ hg olog 337fec4d2edc
       
   338   o  337fec4d2edc (2) A0
       
   339   |
       
   340   x  471597cad322 (1) A0
       
   341        rewritten by test (*20*) as 337fec4d2edc, f257fde29c7a (glob)
       
   342   
       
   343 Check that debugobshistory on the second successor after split show
       
   344 the revision plus the splitted one
       
   345   $ hg olog f257fde29c7a
       
   346   @  f257fde29c7a (3) A0
       
   347   |
       
   348   x  471597cad322 (1) A0
       
   349        rewritten by test (*20*) as 337fec4d2edc, f257fde29c7a (glob)
       
   350   
       
   351 Check that debugobshistory on both successors after split show
       
   352 a coherent graph
       
   353   $ hg olog 'f257fde29c7a+337fec4d2edc'
       
   354   o  337fec4d2edc (2) A0
       
   355   |
       
   356   | @  f257fde29c7a (3) A0
       
   357   |/
       
   358   x  471597cad322 (1) A0
       
   359        rewritten by test (*20*) as 337fec4d2edc, f257fde29c7a (glob)
       
   360   
   198   $ hg update 471597cad322
   361   $ hg update 471597cad322
   199   abort: hidden revision '471597cad322'!
   362   abort: hidden revision '471597cad322'!
   200   (use --hidden to access hidden revisions; successors: 337fec4d2edc, f257fde29c7a)
   363   (use --hidden to access hidden revisions; successors: 337fec4d2edc, f257fde29c7a)
   201   [255]
   364   [255]
   202   $ hg update --hidden 'min(desc(A0))'
   365   $ hg update --hidden 'min(desc(A0))'
   355      summary:     ROOT
   518      summary:     ROOT
   356   
   519   
   357 Actual test
   520 Actual test
   358 -----------
   521 -----------
   359 
   522 
       
   523   $ hg olog de7290d8b885 --hidden
       
   524   x  de7290d8b885 (1) A0
       
   525        rewritten by test (*20*) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a (glob)
       
   526   
       
   527   $ hg olog de7290d8b885 --hidden --no-graph -Tjson | python -m json.tool
       
   528   [
       
   529       {
       
   530           "debugobshistory.markers": [
       
   531               {
       
   532                   "debugobshistory.marker_date": [
       
   533                       *, (glob)
       
   534                       0 (glob)
       
   535                   ],
       
   536                   "debugobshistory.marker_user": "test",
       
   537                   "debugobshistory.succnodes": [
       
   538                       "1ae8bc733a14",
       
   539                       "337fec4d2edc",
       
   540                       "c7f044602e9b",
       
   541                       "f257fde29c7a"
       
   542                   ],
       
   543                   "debugobshistory.verb": "rewritten"
       
   544               }
       
   545           ],
       
   546           "debugobshistory.node": "de7290d8b885",
       
   547           "debugobshistory.rev": 1,
       
   548           "debugobshistory.shortdescription": "A0"
       
   549       }
       
   550   ]
       
   551   $ hg olog c7f044602e9b
       
   552   @  c7f044602e9b (5) A0
       
   553   |
       
   554   x  de7290d8b885 (1) A0
       
   555        rewritten by test (*20*) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a (glob)
       
   556   
       
   557   $ hg olog c7f044602e9b --no-graph -Tjson | python -m json.tool
       
   558   [
       
   559       {
       
   560           "debugobshistory.markers": [],
       
   561           "debugobshistory.node": "c7f044602e9b",
       
   562           "debugobshistory.rev": 5,
       
   563           "debugobshistory.shortdescription": "A0"
       
   564       },
       
   565       {
       
   566           "debugobshistory.markers": [
       
   567               {
       
   568                   "debugobshistory.marker_date": [
       
   569                       *, (glob)
       
   570                       0 (glob)
       
   571                   ],
       
   572                   "debugobshistory.marker_user": "test",
       
   573                   "debugobshistory.succnodes": [
       
   574                       "1ae8bc733a14",
       
   575                       "337fec4d2edc",
       
   576                       "c7f044602e9b",
       
   577                       "f257fde29c7a"
       
   578                   ],
       
   579                   "debugobshistory.verb": "rewritten"
       
   580               }
       
   581           ],
       
   582           "debugobshistory.node": "de7290d8b885",
       
   583           "debugobshistory.rev": 1,
       
   584           "debugobshistory.shortdescription": "A0"
       
   585       }
       
   586   ]
       
   587 Check that debugobshistory on all heads show a coherent graph
       
   588   $ hg olog 2::5
       
   589   o  1ae8bc733a14 (4) A0
       
   590   |
       
   591   | o  337fec4d2edc (2) A0
       
   592   |/
       
   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   
   360   $ hg update de7290d8b885
   600   $ hg update de7290d8b885
   361   abort: hidden revision 'de7290d8b885'!
   601   abort: hidden revision 'de7290d8b885'!
   362   (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)
   363   [255]
   603   [255]
   364   $ hg update --hidden 'min(desc(A0))'
   604   $ hg update --hidden 'min(desc(A0))'
   421      summary:     ROOT
   661      summary:     ROOT
   422   
   662   
   423  Actual test
   663  Actual test
   424  -----------
   664  -----------
   425 
   665 
       
   666 Check that debugobshistory on the first folded revision show only
       
   667 the revision with the target
       
   668   $ hg olog --hidden 471f378eab4c
       
   669   x  471f378eab4c (1) A0
       
   670        rewritten by test (*20*) as eb5a0daa2192 (glob)
       
   671   
       
   672 Check that debugobshistory on the second folded revision show only
       
   673 the revision with the target
       
   674   $ hg olog --hidden 0dec01379d3b
       
   675   x  0dec01379d3b (2) B0
       
   676        rewritten by test (*20*) as eb5a0daa2192 (glob)
       
   677   
       
   678 Check that debugobshistory on the successor revision show a coherent
       
   679 graph
       
   680   $ hg olog eb5a0daa2192
       
   681   @    eb5a0daa2192 (3) C0
       
   682   |\
       
   683   x |  0dec01379d3b (2) B0
       
   684    /     rewritten by test (*20*) as eb5a0daa2192 (glob)
       
   685   |
       
   686   x  471f378eab4c (1) A0
       
   687        rewritten by test (*20*) as eb5a0daa2192 (glob)
       
   688   
       
   689   $ hg olog eb5a0daa2192 --no-graph -Tjson | python -m json.tool
       
   690   [
       
   691       {
       
   692           "debugobshistory.markers": [],
       
   693           "debugobshistory.node": "eb5a0daa2192",
       
   694           "debugobshistory.rev": 3,
       
   695           "debugobshistory.shortdescription": "C0"
       
   696       },
       
   697       {
       
   698           "debugobshistory.markers": [
       
   699               {
       
   700                   "debugobshistory.marker_date": [
       
   701                       *, (glob)
       
   702                       0 (glob)
       
   703                   ],
       
   704                   "debugobshistory.marker_user": "test",
       
   705                   "debugobshistory.succnodes": [
       
   706                       "eb5a0daa2192"
       
   707                   ],
       
   708                   "debugobshistory.verb": "rewritten"
       
   709               }
       
   710           ],
       
   711           "debugobshistory.node": "471f378eab4c",
       
   712           "debugobshistory.rev": 1,
       
   713           "debugobshistory.shortdescription": "A0"
       
   714       },
       
   715       {
       
   716           "debugobshistory.markers": [
       
   717               {
       
   718                   "debugobshistory.marker_date": [
       
   719                       *, (glob)
       
   720                       0 (glob)
       
   721                   ],
       
   722                   "debugobshistory.marker_user": "test",
       
   723                   "debugobshistory.succnodes": [
       
   724                       "eb5a0daa2192"
       
   725                   ],
       
   726                   "debugobshistory.verb": "rewritten"
       
   727               }
       
   728           ],
       
   729           "debugobshistory.node": "0dec01379d3b",
       
   730           "debugobshistory.rev": 2,
       
   731           "debugobshistory.shortdescription": "B0"
       
   732       }
       
   733   ]
   426   $ hg update 471f378eab4c
   734   $ hg update 471f378eab4c
   427   abort: hidden revision '471f378eab4c'!
   735   abort: hidden revision '471f378eab4c'!
   428   (use --hidden to access hidden revisions; successor: eb5a0daa2192)
   736   (use --hidden to access hidden revisions; successor: eb5a0daa2192)
   429   [255]
   737   [255]
   430   $ hg update --hidden 'desc(A0)'
   738   $ hg update --hidden 'desc(A0)'
   504      summary:     ROOT
   812      summary:     ROOT
   505   
   813   
   506 Actual test
   814 Actual test
   507 -----------
   815 -----------
   508 
   816 
       
   817 Check that debugobshistory on the divergent revision show both destinations
       
   818   $ hg olog --hidden 471f378eab4c
       
   819   x  471f378eab4c (1) A0
       
   820        rewritten by test (*20*) as 65b757b745b9 (glob)
       
   821        rewritten by test (*20*) as fdf9bde5129a (glob)
       
   822   
       
   823   $ hg olog --hidden 471f378eab4c --no-graph -Tjson | python -m json.tool
       
   824   [
       
   825       {
       
   826           "debugobshistory.markers": [
       
   827               {
       
   828                   "debugobshistory.marker_date": [
       
   829                       *, (glob)
       
   830                       0 (glob)
       
   831                   ],
       
   832                   "debugobshistory.marker_user": "test",
       
   833                   "debugobshistory.succnodes": [
       
   834                       "65b757b745b9"
       
   835                   ],
       
   836                   "debugobshistory.verb": "rewritten"
       
   837               },
       
   838               {
       
   839                   "debugobshistory.marker_date": [
       
   840                       *, (glob)
       
   841                       0 (glob)
       
   842                   ],
       
   843                   "debugobshistory.marker_user": "test",
       
   844                   "debugobshistory.succnodes": [
       
   845                       "fdf9bde5129a"
       
   846                   ],
       
   847                   "debugobshistory.verb": "rewritten"
       
   848               }
       
   849           ],
       
   850           "debugobshistory.node": "471f378eab4c",
       
   851           "debugobshistory.rev": 1,
       
   852           "debugobshistory.shortdescription": "A0"
       
   853       }
       
   854   ]
       
   855 Check that debugobshistory on the first diverged revision show the revision
       
   856 and the diverent one
       
   857   $ hg olog fdf9bde5129a
       
   858   o  fdf9bde5129a (2) A1
       
   859   |
       
   860   x  471f378eab4c (1) A0
       
   861        rewritten by test (*20*) as 65b757b745b9 (glob)
       
   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 olog 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 olog '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 olog '65b757b745b9+fdf9bde5129a' --no-graph -Tjson | python -m json.tool
       
   885   [
       
   886       {
       
   887           "debugobshistory.markers": [],
       
   888           "debugobshistory.node": "65b757b745b9",
       
   889           "debugobshistory.rev": 3,
       
   890           "debugobshistory.shortdescription": "A2"
       
   891       },
       
   892       {
       
   893           "debugobshistory.markers": [
       
   894               {
       
   895                   "debugobshistory.marker_date": [
       
   896                       *, (glob)
       
   897                       0 (glob)
       
   898                   ],
       
   899                   "debugobshistory.marker_user": "test",
       
   900                   "debugobshistory.succnodes": [
       
   901                       "65b757b745b9"
       
   902                   ],
       
   903                   "debugobshistory.verb": "rewritten"
       
   904               },
       
   905               {
       
   906                   "debugobshistory.marker_date": [
       
   907                       *, (glob)
       
   908                       0 (glob)
       
   909                   ],
       
   910                   "debugobshistory.marker_user": "test",
       
   911                   "debugobshistory.succnodes": [
       
   912                       "fdf9bde5129a"
       
   913                   ],
       
   914                   "debugobshistory.verb": "rewritten"
       
   915               }
       
   916           ],
       
   917           "debugobshistory.node": "471f378eab4c",
       
   918           "debugobshistory.rev": 1,
       
   919           "debugobshistory.shortdescription": "A0"
       
   920       },
       
   921       {
       
   922           "debugobshistory.markers": [],
       
   923           "debugobshistory.node": "fdf9bde5129a",
       
   924           "debugobshistory.rev": 2,
       
   925           "debugobshistory.shortdescription": "A1"
       
   926       }
       
   927   ]
   509   $ hg update 471f378eab4c
   928   $ hg update 471f378eab4c
   510   abort: hidden revision '471f378eab4c'!
   929   abort: hidden revision '471f378eab4c'!
   511   (use --hidden to access hidden revisions; diverged)
   930   (use --hidden to access hidden revisions; diverged)
   512   [255]
   931   [255]
   513   $ hg update --hidden 'desc(A0)'
   932   $ hg update --hidden 'desc(A0)'
   514   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   933   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   515   working directory parent is obsolete! (471f378eab4c)
   934   working directory parent is obsolete! (471f378eab4c)
   516   (471f378eab4c has diverged, use 'hg evolve -list --divergent' to resolve the issue)
   935   (471f378eab4c has diverged, use 'hg evolve -list --divergent' to resolve the issue)
       
   936 
       
   937 Test output with amended + folded commit
       
   938 ========================================
       
   939 
       
   940 Test setup
       
   941 ----------
       
   942 
       
   943   $ hg init $TESTTMP/local-amend-fold
       
   944   $ cd $TESTTMP/local-amend-fold
       
   945   $ mkcommit ROOT
       
   946   $ mkcommit A0
       
   947   $ mkcommit B0
       
   948   $ hg amend -m "B1"
       
   949   $ hg log --hidden -G
       
   950   @  changeset:   3:b7ea6d14e664
       
   951   |  tag:         tip
       
   952   |  parent:      1:471f378eab4c
       
   953   |  user:        test
       
   954   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
   955   |  summary:     B1
       
   956   |
       
   957   | x  changeset:   2:0dec01379d3b
       
   958   |/   user:        test
       
   959   |    date:        Thu Jan 01 00:00:00 1970 +0000
       
   960   |    summary:     B0
       
   961   |
       
   962   o  changeset:   1:471f378eab4c
       
   963   |  user:        test
       
   964   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
   965   |  summary:     A0
       
   966   |
       
   967   o  changeset:   0:ea207398892e
       
   968      user:        test
       
   969      date:        Thu Jan 01 00:00:00 1970 +0000
       
   970      summary:     ROOT
       
   971   
       
   972   $ hg fold --exact -r 'desc(A0) + desc(B1)' --date "0 0" -m "C0"
       
   973   2 changesets folded
       
   974   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   975   $ hg log --hidden -G
       
   976   @  changeset:   4:eb5a0daa2192
       
   977   |  tag:         tip
       
   978   |  parent:      0:ea207398892e
       
   979   |  user:        test
       
   980   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
   981   |  summary:     C0
       
   982   |
       
   983   | x  changeset:   3:b7ea6d14e664
       
   984   | |  parent:      1:471f378eab4c
       
   985   | |  user:        test
       
   986   | |  date:        Thu Jan 01 00:00:00 1970 +0000
       
   987   | |  summary:     B1
       
   988   | |
       
   989   | | x  changeset:   2:0dec01379d3b
       
   990   | |/   user:        test
       
   991   | |    date:        Thu Jan 01 00:00:00 1970 +0000
       
   992   | |    summary:     B0
       
   993   | |
       
   994   | x  changeset:   1:471f378eab4c
       
   995   |/   user:        test
       
   996   |    date:        Thu Jan 01 00:00:00 1970 +0000
       
   997   |    summary:     A0
       
   998   |
       
   999   o  changeset:   0:ea207398892e
       
  1000      user:        test
       
  1001      date:        Thu Jan 01 00:00:00 1970 +0000
       
  1002      summary:     ROOT
       
  1003   
       
  1004  Actual test
       
  1005  -----------
       
  1006 
       
  1007 Check that debugobshistory on head show a coherent graph
       
  1008   $ hg olog eb5a0daa2192
       
  1009   @    eb5a0daa2192 (4) C0
       
  1010   |\
       
  1011   x |  471f378eab4c (1) A0
       
  1012    /     rewritten by test (*20*) as eb5a0daa2192 (glob)
       
  1013   |
       
  1014   x  b7ea6d14e664 (3) B1
       
  1015   |    rewritten by test (*20*) as eb5a0daa2192 (glob)
       
  1016   |
       
  1017   x  0dec01379d3b (2) B0
       
  1018        rewritten by test (*20*) as b7ea6d14e664 (glob)
       
  1019   
       
  1020   $ hg olog eb5a0daa2192 --no-graph -Tjson | python -m json.tool
       
  1021   [
       
  1022       {
       
  1023           "debugobshistory.markers": [],
       
  1024           "debugobshistory.node": "eb5a0daa2192",
       
  1025           "debugobshistory.rev": 4,
       
  1026           "debugobshistory.shortdescription": "C0"
       
  1027       },
       
  1028       {
       
  1029           "debugobshistory.markers": [
       
  1030               {
       
  1031                   "debugobshistory.marker_date": [
       
  1032                       *, (glob)
       
  1033                       0 (glob)
       
  1034                   ],
       
  1035                   "debugobshistory.marker_user": "test",
       
  1036                   "debugobshistory.succnodes": [
       
  1037                       "eb5a0daa2192"
       
  1038                   ],
       
  1039                   "debugobshistory.verb": "rewritten"
       
  1040               }
       
  1041           ],
       
  1042           "debugobshistory.node": "b7ea6d14e664",
       
  1043           "debugobshistory.rev": 3,
       
  1044           "debugobshistory.shortdescription": "B1"
       
  1045       },
       
  1046       {
       
  1047           "debugobshistory.markers": [
       
  1048               {
       
  1049                   "debugobshistory.marker_date": [
       
  1050                       *, (glob)
       
  1051                       0 (glob)
       
  1052                   ],
       
  1053                   "debugobshistory.marker_user": "test",
       
  1054                   "debugobshistory.succnodes": [
       
  1055                       "b7ea6d14e664"
       
  1056                   ],
       
  1057                   "debugobshistory.verb": "rewritten"
       
  1058               }
       
  1059           ],
       
  1060           "debugobshistory.node": "0dec01379d3b",
       
  1061           "debugobshistory.rev": 2,
       
  1062           "debugobshistory.shortdescription": "B0"
       
  1063       },
       
  1064       {
       
  1065           "debugobshistory.markers": [
       
  1066               {
       
  1067                   "debugobshistory.marker_date": [
       
  1068                       *, (glob)
       
  1069                       0 (glob)
       
  1070                   ],
       
  1071                   "debugobshistory.marker_user": "test",
       
  1072                   "debugobshistory.succnodes": [
       
  1073                       "eb5a0daa2192"
       
  1074                   ],
       
  1075                   "debugobshistory.verb": "rewritten"
       
  1076               }
       
  1077           ],
       
  1078           "debugobshistory.node": "471f378eab4c",
       
  1079           "debugobshistory.rev": 1,
       
  1080           "debugobshistory.shortdescription": "A0"
       
  1081       }
       
  1082   ]
       
  1083   $ hg update 471f378eab4c
       
  1084   abort: hidden revision '471f378eab4c'!
       
  1085   (use --hidden to access hidden revisions; successor: eb5a0daa2192)
       
  1086   [255]
       
  1087   $ hg update --hidden 'desc(A0)'
       
  1088   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
  1089   working directory parent is obsolete! (471f378eab4c)
       
  1090   (use 'hg evolve' to update to its successor: eb5a0daa2192)
       
  1091   $ hg update --hidden 0dec01379d3b
       
  1092   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
  1093   working directory parent is obsolete! (0dec01379d3b)
       
  1094   (use 'hg evolve' to update to its successor: eb5a0daa2192)
       
  1095   $ hg update 0dec01379d3b
       
  1096   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
  1097   working directory parent is obsolete! (0dec01379d3b)
       
  1098   (use 'hg evolve' to update to its successor: eb5a0daa2192)
       
  1099   $ hg update --hidden 'desc(B0)'
       
  1100   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
  1101   working directory parent is obsolete! (0dec01379d3b)
       
  1102   (use 'hg evolve' to update to its successor: eb5a0daa2192)
       
  1103 
       
  1104 Test output with pushed and pulled obs markers
       
  1105 ==============================================
       
  1106 
       
  1107 Test setup
       
  1108 ----------
       
  1109 
       
  1110   $ hg init $TESTTMP/local-remote-markers-1
       
  1111   $ cd $TESTTMP/local-remote-markers-1
       
  1112   $ mkcommit ROOT
       
  1113   $ mkcommit A0
       
  1114   $ hg log --hidden -G
       
  1115   @  changeset:   1:471f378eab4c
       
  1116   |  tag:         tip
       
  1117   |  user:        test
       
  1118   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
  1119   |  summary:     A0
       
  1120   |
       
  1121   o  changeset:   0:ea207398892e
       
  1122      user:        test
       
  1123      date:        Thu Jan 01 00:00:00 1970 +0000
       
  1124      summary:     ROOT
       
  1125   
       
  1126   $ hg clone $TESTTMP/local-remote-markers-1 $TESTTMP/local-remote-markers-2
       
  1127   updating to branch default
       
  1128   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
  1129   $ cd $TESTTMP/local-remote-markers-2
       
  1130   $ hg log --hidden -G
       
  1131   @  changeset:   1:471f378eab4c
       
  1132   |  tag:         tip
       
  1133   |  user:        test
       
  1134   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
  1135   |  summary:     A0
       
  1136   |
       
  1137   o  changeset:   0:ea207398892e
       
  1138      user:        test
       
  1139      date:        Thu Jan 01 00:00:00 1970 +0000
       
  1140      summary:     ROOT
       
  1141   
       
  1142   $ cd $TESTTMP/local-remote-markers-1
       
  1143   $ hg amend -m "A1"
       
  1144   $ hg amend -m "A2"
       
  1145   $ hg log --hidden -G
       
  1146   @  changeset:   3:7a230b46bf61
       
  1147   |  tag:         tip
       
  1148   |  parent:      0:ea207398892e
       
  1149   |  user:        test
       
  1150   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
  1151   |  summary:     A2
       
  1152   |
       
  1153   | x  changeset:   2:fdf9bde5129a
       
  1154   |/   parent:      0:ea207398892e
       
  1155   |    user:        test
       
  1156   |    date:        Thu Jan 01 00:00:00 1970 +0000
       
  1157   |    summary:     A1
       
  1158   |
       
  1159   | x  changeset:   1:471f378eab4c
       
  1160   |/   user:        test
       
  1161   |    date:        Thu Jan 01 00:00:00 1970 +0000
       
  1162   |    summary:     A0
       
  1163   |
       
  1164   o  changeset:   0:ea207398892e
       
  1165      user:        test
       
  1166      date:        Thu Jan 01 00:00:00 1970 +0000
       
  1167      summary:     ROOT
       
  1168   
       
  1169  Actual test
       
  1170  -----------
       
  1171 
       
  1172   $ hg olog 7a230b46bf61
       
  1173   @  7a230b46bf61 (3) A2
       
  1174   |
       
  1175   x  fdf9bde5129a (2) A1
       
  1176   |    rewritten by test (*20*) as 7a230b46bf61 (glob)
       
  1177   |
       
  1178   x  471f378eab4c (1) A0
       
  1179        rewritten by test (*20*) as fdf9bde5129a (glob)
       
  1180   
       
  1181   $ cd $TESTTMP/local-remote-markers-2
       
  1182   $ hg pull
       
  1183   pulling from $TESTTMP/local-remote-markers-1
       
  1184   searching for changes
       
  1185   adding changesets
       
  1186   adding manifests
       
  1187   adding file changes
       
  1188   added 1 changesets with 0 changes to 1 files (+1 heads)
       
  1189   2 new obsolescence markers
       
  1190   (run 'hg heads' to see heads, 'hg merge' to merge)
       
  1191   working directory parent is obsolete! (471f378eab4c)
       
  1192   (use 'hg evolve' to update to its successor: 7a230b46bf61)
       
  1193 Check that debugobshistory works with markers pointing to missing local
       
  1194 changectx
       
  1195   $ hg olog 7a230b46bf61
       
  1196   o  7a230b46bf61 (2) A2
       
  1197   |
       
  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   
       
  1204   $ hg olog 7a230b46bf61 --color=debug
       
  1205   o  [evolve.node|7a230b46bf61] [evolve.rev|(2)] [evolve.short_description|A2]
       
  1206   |
       
  1207   x  [evolve.node evolve.missing_change_ctx|fdf9bde5129a]
       
  1208   |    [evolve.verb|rewritten] by [evolve.user|test] [evolve.date|(*20*)] as [evolve.node|7a230b46bf61] (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 "desc(B)" "desc(A)"
       
  1250   1 changesets pruned
       
  1251   2 new unstable changesets
       
  1252   $ hg prune -s "desc(C)" "desc(B)"
       
  1253   1 changesets pruned
       
  1254   $ hg prune -s "desc(A)" "desc(C)"
       
  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 olog "desc(A)" --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 
       
  1296   $ hg olog "desc(B)" --hidden
       
  1297   @  2a34000d3544 (1) A
       
  1298   |    rewritten by test (*20*) as c473644ee0e9 (glob)
       
  1299   |
       
  1300   x  a8df460dbbfe (3) C
       
  1301   |    rewritten by test (*20*) as 2a34000d3544 (glob)
       
  1302   |
       
  1303   x  c473644ee0e9 (2) B
       
  1304   |    rewritten by test (*20*) as a8df460dbbfe (glob)
       
  1305   |
       
  1306 
       
  1307   $ hg olog "desc(C)" --hidden
       
  1308   @  2a34000d3544 (1) A
       
  1309   |    rewritten by test (*20*) as c473644ee0e9 (glob)
       
  1310   |
       
  1311   x  a8df460dbbfe (3) C
       
  1312   |    rewritten by test (*20*) as 2a34000d3544 (glob)
       
  1313   |
       
  1314   x  c473644ee0e9 (2) B
       
  1315   |    rewritten by test (*20*) as a8df460dbbfe (glob)
       
  1316   |
       
  1317 
       
  1318 Test with multiple cyles
       
  1319 ========================
       
  1320 
       
  1321 Test setup
       
  1322 ----------
       
  1323 
       
  1324   $ hg init $TESTTMP/multiple-cycle
       
  1325   $ cd $TESTTMP/multiple-cycle
       
  1326   $ mkcommit ROOT
       
  1327   $ mkcommit A
       
  1328   $ mkcommit B
       
  1329   $ mkcommit C
       
  1330   $ mkcommit D
       
  1331   $ mkcommit E
       
  1332   $ mkcommit F
       
  1333   $ hg log -G
       
  1334   @  changeset:   6:d9f908fde1a1
       
  1335   |  tag:         tip
       
  1336   |  user:        test
       
  1337   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
  1338   |  summary:     F
       
  1339   |
       
  1340   o  changeset:   5:0da815c333f6
       
  1341   |  user:        test
       
  1342   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
  1343   |  summary:     E
       
  1344   |
       
  1345   o  changeset:   4:868d2e0eb19c
       
  1346   |  user:        test
       
  1347   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
  1348   |  summary:     D
       
  1349   |
       
  1350   o  changeset:   3:a8df460dbbfe
       
  1351   |  user:        test
       
  1352   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
  1353   |  summary:     C
       
  1354   |
       
  1355   o  changeset:   2:c473644ee0e9
       
  1356   |  user:        test
       
  1357   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
  1358   |  summary:     B
       
  1359   |
       
  1360   o  changeset:   1:2a34000d3544
       
  1361   |  user:        test
       
  1362   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
  1363   |  summary:     A
       
  1364   |
       
  1365   o  changeset:   0:ea207398892e
       
  1366      user:        test
       
  1367      date:        Thu Jan 01 00:00:00 1970 +0000
       
  1368      summary:     ROOT
       
  1369   
       
  1370 Create a first cycle
       
  1371   $ hg prune -s "desc(B)" "desc(A)"
       
  1372   1 changesets pruned
       
  1373   5 new unstable changesets
       
  1374   $ hg prune -s "desc(C)" "desc(B)"
       
  1375   1 changesets pruned
       
  1376   $ hg prune --split -s "desc(A)" -s "desc(D)" "desc(C)"
       
  1377   1 changesets pruned
       
  1378 And create a second one
       
  1379   $ hg prune -s "desc(E)" "desc(D)"
       
  1380   1 changesets pruned
       
  1381   $ hg prune -s "desc(F)" "desc(E)"
       
  1382   1 changesets pruned
       
  1383   $ hg prune -s "desc(D)" "desc(F)"
       
  1384   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
       
  1385   working directory now at 868d2e0eb19c
       
  1386   1 changesets pruned
       
  1387   $ hg log --hidden -G
       
  1388   x  changeset:   6:d9f908fde1a1
       
  1389   |  tag:         tip
       
  1390   |  user:        test
       
  1391   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
  1392   |  summary:     F
       
  1393   |
       
  1394   x  changeset:   5:0da815c333f6
       
  1395   |  user:        test
       
  1396   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
  1397   |  summary:     E
       
  1398   |
       
  1399   @  changeset:   4:868d2e0eb19c
       
  1400   |  user:        test
       
  1401   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
  1402   |  summary:     D
       
  1403   |
       
  1404   x  changeset:   3:a8df460dbbfe
       
  1405   |  user:        test
       
  1406   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
  1407   |  summary:     C
       
  1408   |
       
  1409   x  changeset:   2:c473644ee0e9
       
  1410   |  user:        test
       
  1411   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
  1412   |  summary:     B
       
  1413   |
       
  1414   x  changeset:   1:2a34000d3544
       
  1415   |  user:        test
       
  1416   |  date:        Thu Jan 01 00:00:00 1970 +0000
       
  1417   |  summary:     A
       
  1418   |
       
  1419   o  changeset:   0:ea207398892e
       
  1420      user:        test
       
  1421      date:        Thu Jan 01 00:00:00 1970 +0000
       
  1422      summary:     ROOT
       
  1423   
       
  1424 Actual test
       
  1425 -----------
       
  1426 
       
  1427 Check that debugobshistory never crash on a cycle
       
  1428 
       
  1429   $ hg olog "desc(D)" --hidden
       
  1430   x  0da815c333f6 (5) E
       
  1431   |    rewritten by test (*20*) as d9f908fde1a1 (glob)
       
  1432   |
       
  1433   @    868d2e0eb19c (4) D
       
  1434   |\     rewritten by test (*20*) as 0da815c333f6 (glob)
       
  1435   | |
       
  1436   | x  d9f908fde1a1 (6) F
       
  1437   | |    rewritten by test (*20*) as 868d2e0eb19c (glob)
       
  1438   | |
       
  1439   +---x  2a34000d3544 (1) A
       
  1440   | |      rewritten by test (*20*) as c473644ee0e9 (glob)
       
  1441   | |
       
  1442   x |  a8df460dbbfe (3) C
       
  1443   | |    rewritten by test (*20*) as 2a34000d3544, 868d2e0eb19c (glob)
       
  1444   | |
       
  1445   x |  c473644ee0e9 (2) B
       
  1446   | |    rewritten by test (*20*) as a8df460dbbfe (glob)
       
  1447   | |
       
  1448 
       
  1449 Check the json output is valid in this case
       
  1450 
       
  1451   $ hg olog "desc(D)" --hidden --no-graph -Tjson | python -m json.tool
       
  1452   [
       
  1453       {
       
  1454           "debugobshistory.markers": [
       
  1455               {
       
  1456                   "debugobshistory.marker_date": [
       
  1457                       *, (glob)
       
  1458                       0
       
  1459                   ],
       
  1460                   "debugobshistory.marker_user": "test",
       
  1461                   "debugobshistory.succnodes": [
       
  1462                       "0da815c333f6"
       
  1463                   ],
       
  1464                   "debugobshistory.verb": "rewritten"
       
  1465               }
       
  1466           ],
       
  1467           "debugobshistory.node": "868d2e0eb19c",
       
  1468           "debugobshistory.rev": 4,
       
  1469           "debugobshistory.shortdescription": "D"
       
  1470       },
       
  1471       {
       
  1472           "debugobshistory.markers": [
       
  1473               {
       
  1474                   "debugobshistory.marker_date": [
       
  1475                       *, (glob)
       
  1476                       0
       
  1477                   ],
       
  1478                   "debugobshistory.marker_user": "test",
       
  1479                   "debugobshistory.succnodes": [
       
  1480                       "868d2e0eb19c"
       
  1481                   ],
       
  1482                   "debugobshistory.verb": "rewritten"
       
  1483               }
       
  1484           ],
       
  1485           "debugobshistory.node": "d9f908fde1a1",
       
  1486           "debugobshistory.rev": 6,
       
  1487           "debugobshistory.shortdescription": "F"
       
  1488       },
       
  1489       {
       
  1490           "debugobshistory.markers": [
       
  1491               {
       
  1492                   "debugobshistory.marker_date": [
       
  1493                       *, (glob)
       
  1494                       0
       
  1495                   ],
       
  1496                   "debugobshistory.marker_user": "test",
       
  1497                   "debugobshistory.succnodes": [
       
  1498                       "d9f908fde1a1"
       
  1499                   ],
       
  1500                   "debugobshistory.verb": "rewritten"
       
  1501               }
       
  1502           ],
       
  1503           "debugobshistory.node": "0da815c333f6",
       
  1504           "debugobshistory.rev": 5,
       
  1505           "debugobshistory.shortdescription": "E"
       
  1506       },
       
  1507       {
       
  1508           "debugobshistory.markers": [
       
  1509               {
       
  1510                   "debugobshistory.marker_date": [
       
  1511                       *, (glob)
       
  1512                       0
       
  1513                   ],
       
  1514                   "debugobshistory.marker_user": "test",
       
  1515                   "debugobshistory.succnodes": [
       
  1516                       "2a34000d3544",
       
  1517                       "868d2e0eb19c"
       
  1518                   ],
       
  1519                   "debugobshistory.verb": "rewritten"
       
  1520               }
       
  1521           ],
       
  1522           "debugobshistory.node": "a8df460dbbfe",
       
  1523           "debugobshistory.rev": 3,
       
  1524           "debugobshistory.shortdescription": "C"
       
  1525       },
       
  1526       {
       
  1527           "debugobshistory.markers": [
       
  1528               {
       
  1529                   "debugobshistory.marker_date": [
       
  1530                       *, (glob)
       
  1531                       0
       
  1532                   ],
       
  1533                   "debugobshistory.marker_user": "test",
       
  1534                   "debugobshistory.succnodes": [
       
  1535                       "a8df460dbbfe"
       
  1536                   ],
       
  1537                   "debugobshistory.verb": "rewritten"
       
  1538               }
       
  1539           ],
       
  1540           "debugobshistory.node": "c473644ee0e9",
       
  1541           "debugobshistory.rev": 2,
       
  1542           "debugobshistory.shortdescription": "B"
       
  1543       },
       
  1544       {
       
  1545           "debugobshistory.markers": [
       
  1546               {
       
  1547                   "debugobshistory.marker_date": [
       
  1548                       *, (glob)
       
  1549                       0
       
  1550                   ],
       
  1551                   "debugobshistory.marker_user": "test",
       
  1552                   "debugobshistory.succnodes": [
       
  1553                       "c473644ee0e9"
       
  1554                   ],
       
  1555                   "debugobshistory.verb": "rewritten"
       
  1556               }
       
  1557           ],
       
  1558           "debugobshistory.node": "2a34000d3544",
       
  1559           "debugobshistory.rev": 1,
       
  1560           "debugobshistory.shortdescription": "A"
       
  1561       }
       
  1562   ]