changeset 45675:59ab71498bee

tests: test output of {predecessors}, {successorssets} for non-obsolete csets Differential Revision: https://phab.mercurial-scm.org/D9157
author Aay Jay Chan <aayjaychan@itopia.com.hk>
date Wed, 07 Oct 2020 00:39:52 +0800
parents 66cb7ad3787c
children f95b23283760
files tests/test-obsmarker-template.t
diffstat 1 files changed, 590 insertions(+), 78 deletions(-) [+]
line wrap: on
line diff
--- a/tests/test-obsmarker-template.t	Thu Oct 08 23:19:01 2020 -0700
+++ b/tests/test-obsmarker-template.t	Wed Oct 07 00:39:52 2020 +0800
@@ -20,13 +20,13 @@
   > obsfatetempl = "{obsfateverb}{obsfateoperations}{obsfatesuccessors}{obsfateusers}{obsfatedate}; "
   > [alias]
   > tlog = log -G -T '{node|short}\
-  >     {if(predecessors, "\n  Predecessors: {predecessors}")}\
-  >     {if(predecessors, "\n  semi-colon: {join(predecessors, "; ")}")}\
-  >     {if(predecessors, "\n  json: {predecessors|json}")}\
-  >     {if(predecessors, "\n  map: {join(predecessors % "{rev}:{node}", " ")}")}\
-  >     {if(successorssets, "\n  Successors: {successorssets}")}\
-  >     {if(successorssets, "\n  multi-line: {join(successorssets, "\n  multi-line: ")}")}\
-  >     {if(successorssets, "\n  json: {successorssets|json}")}\n'
+  >     \n  Predecessors: {predecessors}\
+  >     \n  semi-colon: {join(predecessors, "; ")}\
+  >     \n  json: {predecessors|json}\
+  >     \n  map: {join(predecessors % "{rev}:{node}", " ")}\
+  >     \n  Successors: {successorssets}\
+  >     \n  multi-line: {join(successorssets, "\n  multi-line: ")}\
+  >     \n  json: {successorssets|json}\n'
   > fatelog = log -G -T '{node|short}\n{if(succsandmarkers, "  Obsfate: {succsandmarkers % "{obsfatetempl}"} \n" )}'
   > fatelogjson = log -G -T '{node|short}\n{if(succsandmarkers, "  Obsfate: {succsandmarkers|json}\n")}'
   > fatelogkw = log -G -T '{node|short}\n{if(obsfate, "{obsfate % "  Obsfate: {fate}\n"}")}'
@@ -86,12 +86,26 @@
   |    semi-colon: 1:471f378eab4c
   |    json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
   |    map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | @  471f378eab4c
-  |/     Successors: 3:d004c8f274b9
+  |/     Predecessors:
+  |      semi-colon:
+  |      json: []
+  |      map:
+  |      Successors: 3:d004c8f274b9
   |      multi-line: 3:d004c8f274b9
   |      json: [["d004c8f274b9ec480a47a93c10dac5eee63adb78"]]
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
+
   $ hg fatelog
   o  d004c8f274b9
   |
@@ -159,12 +173,26 @@
   |    semi-colon: 2:a468dc9b3633
   |    json: ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"]
   |    map: 2:a468dc9b36338b14fdb7825f55ce3df4e71517ad
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | @  a468dc9b3633
-  |/     Successors: 3:d004c8f274b9
+  |/     Predecessors:
+  |      semi-colon:
+  |      json: []
+  |      map:
+  |      Successors: 3:d004c8f274b9
   |      multi-line: 3:d004c8f274b9
   |      json: [["d004c8f274b9ec480a47a93c10dac5eee63adb78"]]
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
+
   $ hg fatelog
   o  d004c8f274b9
   |
@@ -180,6 +208,9 @@
   |    semi-colon: 2:a468dc9b3633
   |    json: ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"]
   |    map: 2:a468dc9b36338b14fdb7825f55ce3df4e71517ad
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | @  a468dc9b3633
   |/     Predecessors: 1:471f378eab4c
   |      semi-colon: 1:471f378eab4c
@@ -189,11 +220,22 @@
   |      multi-line: 3:d004c8f274b9
   |      json: [["d004c8f274b9ec480a47a93c10dac5eee63adb78"]]
   | x  471f378eab4c
-  |/     Successors: 2:a468dc9b3633
+  |/     Predecessors:
+  |      semi-colon:
+  |      json: []
+  |      map:
+  |      Successors: 2:a468dc9b3633
   |      multi-line: 2:a468dc9b3633
   |      json: [["a468dc9b36338b14fdb7825f55ce3df4e71517ad"]]
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
+
   $ hg fatelog --hidden
   o  d004c8f274b9
   |
@@ -210,15 +252,31 @@
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg tlog
   @  d004c8f274b9
-  |
+  |    Predecessors:
+  |    semi-colon:
+  |    json: []
+  |    map:
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
+
   $ hg tlog --hidden
   @  d004c8f274b9
   |    Predecessors: 2:a468dc9b3633
   |    semi-colon: 2:a468dc9b3633
   |    json: ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"]
   |    map: 2:a468dc9b36338b14fdb7825f55ce3df4e71517ad
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | x  a468dc9b3633
   |/     Predecessors: 1:471f378eab4c
   |      semi-colon: 1:471f378eab4c
@@ -228,11 +286,22 @@
   |      multi-line: 3:d004c8f274b9
   |      json: [["d004c8f274b9ec480a47a93c10dac5eee63adb78"]]
   | x  471f378eab4c
-  |/     Successors: 2:a468dc9b3633
+  |/     Predecessors:
+  |      semi-colon:
+  |      json: []
+  |      map:
+  |      Successors: 2:a468dc9b3633
   |      multi-line: 2:a468dc9b3633
   |      json: [["a468dc9b36338b14fdb7825f55ce3df4e71517ad"]]
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
+
   $ hg fatelog
   @  d004c8f274b9
   |
@@ -429,17 +498,33 @@
   |    semi-colon: 1:471597cad322
   |    json: ["471597cad322d1f659bb169751be9133dad92ef3"]
   |    map: 1:471597cad322d1f659bb169751be9133dad92ef3
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   o  337fec4d2edc
   |    Predecessors: 1:471597cad322
   |    semi-colon: 1:471597cad322
   |    json: ["471597cad322d1f659bb169751be9133dad92ef3"]
   |    map: 1:471597cad322d1f659bb169751be9133dad92ef3
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | @  471597cad322
-  |/     Successors: 2:337fec4d2edc 3:f257fde29c7a
+  |/     Predecessors:
+  |      semi-colon:
+  |      json: []
+  |      map:
+  |      Successors: 2:337fec4d2edc 3:f257fde29c7a
   |      multi-line: 2:337fec4d2edc 3:f257fde29c7a
   |      json: [["337fec4d2edcf0e7a467e35f818234bc620068b5", "f257fde29c7a847c9b607f6e958656d0df0fb15c"]]
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
 
   $ hg fatelog
   o  f257fde29c7a
@@ -457,11 +542,30 @@
 the log
   $ hg tlog
   @  f257fde29c7a
-  |
+  |    Predecessors:
+  |    semi-colon:
+  |    json: []
+  |    map:
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   o  337fec4d2edc
-  |
+  |    Predecessors:
+  |    semi-colon:
+  |    json: []
+  |    map:
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
+
 Predecessors template should show both predecessors as we force their display
 with --hidden
   $ hg tlog --hidden
@@ -470,17 +574,33 @@
   |    semi-colon: 1:471597cad322
   |    json: ["471597cad322d1f659bb169751be9133dad92ef3"]
   |    map: 1:471597cad322d1f659bb169751be9133dad92ef3
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   o  337fec4d2edc
   |    Predecessors: 1:471597cad322
   |    semi-colon: 1:471597cad322
   |    json: ["471597cad322d1f659bb169751be9133dad92ef3"]
   |    map: 1:471597cad322d1f659bb169751be9133dad92ef3
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | x  471597cad322
-  |/     Successors: 2:337fec4d2edc 3:f257fde29c7a
+  |/     Predecessors:
+  |      semi-colon:
+  |      json: []
+  |      map:
+  |      Successors: 2:337fec4d2edc 3:f257fde29c7a
   |      multi-line: 2:337fec4d2edc 3:f257fde29c7a
   |      json: [["337fec4d2edcf0e7a467e35f818234bc620068b5", "f257fde29c7a847c9b607f6e958656d0df0fb15c"]]
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
 
   $ hg fatelog --hidden
   @  f257fde29c7a
@@ -641,12 +761,25 @@
   |    semi-colon: 1:471f378eab4c
   |    json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
   |    map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | @  471f378eab4c
-  |/     Successors: 3:eb5a0daa2192
+  |/     Predecessors:
+  |      semi-colon:
+  |      json: []
+  |      map:
+  |      Successors: 3:eb5a0daa2192
   |      multi-line: 3:eb5a0daa2192
   |      json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
 
   $ hg fatelog
   o  eb5a0daa2192
@@ -668,16 +801,33 @@
   |    semi-colon: 2:0dec01379d3b; 1:471f378eab4c
   |    json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", "471f378eab4c5e25f6c77f785b27c936efb22874"]
   |    map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5 1:471f378eab4c5e25f6c77f785b27c936efb22874
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | @  0dec01379d3b
+  | |    Predecessors:
+  | |    semi-colon:
+  | |    json: []
+  | |    map:
   | |    Successors: 3:eb5a0daa2192
   | |    multi-line: 3:eb5a0daa2192
   | |    json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
   | x  471f378eab4c
-  |/     Successors: 3:eb5a0daa2192
+  |/     Predecessors:
+  |      semi-colon:
+  |      json: []
+  |      map:
+  |      Successors: 3:eb5a0daa2192
   |      multi-line: 3:eb5a0daa2192
   |      json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
 
   $ hg fatelog
   o  eb5a0daa2192
@@ -695,9 +845,21 @@
 the log
   $ hg tlog
   @  eb5a0daa2192
-  |
+  |    Predecessors:
+  |    semi-colon:
+  |    json: []
+  |    map:
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
 Predecessors template should show both predecessors as we force their display
 with --hidden
   $ hg tlog --hidden
@@ -706,16 +868,33 @@
   |    semi-colon: 2:0dec01379d3b; 1:471f378eab4c
   |    json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", "471f378eab4c5e25f6c77f785b27c936efb22874"]
   |    map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5 1:471f378eab4c5e25f6c77f785b27c936efb22874
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | x  0dec01379d3b
+  | |    Predecessors:
+  | |    semi-colon:
+  | |    json: []
+  | |    map:
   | |    Successors: 3:eb5a0daa2192
   | |    multi-line: 3:eb5a0daa2192
   | |    json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
   | x  471f378eab4c
-  |/     Successors: 3:eb5a0daa2192
+  |/     Predecessors:
+  |      semi-colon:
+  |      json: []
+  |      map:
+  |      Successors: 3:eb5a0daa2192
   |      multi-line: 3:eb5a0daa2192
   |      json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
 
   $ hg fatelog --hidden
   @  eb5a0daa2192
@@ -908,18 +1087,34 @@
   |    semi-colon: 1:471f378eab4c
   |    json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
   |    map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | *  fdf9bde5129a
   |/     Predecessors: 1:471f378eab4c
   |      semi-colon: 1:471f378eab4c
   |      json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
   |      map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
+  |      Successors:
+  |      multi-line:
+  |      json: ""
   | @  471f378eab4c
-  |/     Successors: 2:fdf9bde5129a; 4:019fadeab383
+  |/     Predecessors:
+  |      semi-colon:
+  |      json: []
+  |      map:
+  |      Successors: 2:fdf9bde5129a; 4:019fadeab383
   |      multi-line: 2:fdf9bde5129a
   |      multi-line: 4:019fadeab383
   |      json: [["fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e"], ["019fadeab383f6699fa83ad7bdb4d82ed2c0e5ab"]]
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
   $ hg fatelog
   *  019fadeab383
   |
@@ -936,11 +1131,29 @@
 the log
   $ hg tlog
   *  019fadeab383
-  |
+  |    Predecessors:
+  |    semi-colon:
+  |    json: []
+  |    map:
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | @  fdf9bde5129a
-  |/
+  |/     Predecessors:
+  |      semi-colon:
+  |      json: []
+  |      map:
+  |      Successors:
+  |      multi-line:
+  |      json: ""
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
 
   $ hg fatelog
   *  019fadeab383
@@ -957,6 +1170,9 @@
   |    semi-colon: 3:65b757b745b9
   |    json: ["65b757b745b935093c87a2bccd877521cccffcbd"]
   |    map: 3:65b757b745b935093c87a2bccd877521cccffcbd
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | x  65b757b745b9
   |/     Predecessors: 1:471f378eab4c
   |      semi-colon: 1:471f378eab4c
@@ -970,13 +1186,26 @@
   |      semi-colon: 1:471f378eab4c
   |      json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
   |      map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
+  |      Successors:
+  |      multi-line:
+  |      json: ""
   | x  471f378eab4c
-  |/     Successors: 2:fdf9bde5129a; 3:65b757b745b9
+  |/     Predecessors:
+  |      semi-colon:
+  |      json: []
+  |      map:
+  |      Successors: 2:fdf9bde5129a; 3:65b757b745b9
   |      multi-line: 2:fdf9bde5129a
   |      multi-line: 3:65b757b745b9
   |      json: [["fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e"], ["65b757b745b935093c87a2bccd877521cccffcbd"]]
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
 
   $ hg fatelog --hidden
   *  019fadeab383
@@ -1177,12 +1406,25 @@
   |    semi-colon: 1:471f378eab4c
   |    json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
   |    map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | @  471f378eab4c
-  |/     Successors: 4:eb5a0daa2192
+  |/     Predecessors:
+  |      semi-colon:
+  |      json: []
+  |      map:
+  |      Successors: 4:eb5a0daa2192
   |      multi-line: 4:eb5a0daa2192
   |      json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
 
   $ hg fatelog
   o  eb5a0daa2192
@@ -1203,16 +1445,33 @@
   |    semi-colon: 2:0dec01379d3b; 1:471f378eab4c
   |    json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", "471f378eab4c5e25f6c77f785b27c936efb22874"]
   |    map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5 1:471f378eab4c5e25f6c77f785b27c936efb22874
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | @  0dec01379d3b
+  | |    Predecessors:
+  | |    semi-colon:
+  | |    json: []
+  | |    map:
   | |    Successors: 4:eb5a0daa2192
   | |    multi-line: 4:eb5a0daa2192
   | |    json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
   | x  471f378eab4c
-  |/     Successors: 4:eb5a0daa2192
+  |/     Predecessors:
+  |      semi-colon:
+  |      json: []
+  |      map:
+  |      Successors: 4:eb5a0daa2192
   |      multi-line: 4:eb5a0daa2192
   |      json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
 
   $ hg fatelog
   o  eb5a0daa2192
@@ -1235,16 +1494,33 @@
   |    semi-colon: 1:471f378eab4c; 3:b7ea6d14e664
   |    json: ["471f378eab4c5e25f6c77f785b27c936efb22874", "b7ea6d14e664bdc8922221f7992631b50da3fb07"]
   |    map: 1:471f378eab4c5e25f6c77f785b27c936efb22874 3:b7ea6d14e664bdc8922221f7992631b50da3fb07
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | @  b7ea6d14e664
+  | |    Predecessors:
+  | |    semi-colon:
+  | |    json: []
+  | |    map:
   | |    Successors: 4:eb5a0daa2192
   | |    multi-line: 4:eb5a0daa2192
   | |    json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
   | x  471f378eab4c
-  |/     Successors: 4:eb5a0daa2192
+  |/     Predecessors:
+  |      semi-colon:
+  |      json: []
+  |      map:
+  |      Successors: 4:eb5a0daa2192
   |      multi-line: 4:eb5a0daa2192
   |      json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
 
   $ hg fatelog
   o  eb5a0daa2192
@@ -1261,9 +1537,21 @@
 Predecessors template should show no predecessors as they are both non visible
   $ hg tlog
   @  eb5a0daa2192
-  |
+  |    Predecessors:
+  |    semi-colon:
+  |    json: []
+  |    map:
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
 
   $ hg fatelog
   @  eb5a0daa2192
@@ -1278,6 +1566,9 @@
   |    semi-colon: 1:471f378eab4c; 3:b7ea6d14e664
   |    json: ["471f378eab4c5e25f6c77f785b27c936efb22874", "b7ea6d14e664bdc8922221f7992631b50da3fb07"]
   |    map: 1:471f378eab4c5e25f6c77f785b27c936efb22874 3:b7ea6d14e664bdc8922221f7992631b50da3fb07
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | x  b7ea6d14e664
   | |    Predecessors: 2:0dec01379d3b
   | |    semi-colon: 2:0dec01379d3b
@@ -1287,15 +1578,29 @@
   | |    multi-line: 4:eb5a0daa2192
   | |    json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
   | | x  0dec01379d3b
-  | |/     Successors: 3:b7ea6d14e664
+  | |/     Predecessors:
+  | |      semi-colon:
+  | |      json: []
+  | |      map:
+  | |      Successors: 3:b7ea6d14e664
   | |      multi-line: 3:b7ea6d14e664
   | |      json: [["b7ea6d14e664bdc8922221f7992631b50da3fb07"]]
   | x  471f378eab4c
-  |/     Successors: 4:eb5a0daa2192
+  |/     Predecessors:
+  |      semi-colon:
+  |      json: []
+  |      map:
+  |      Successors: 4:eb5a0daa2192
   |      multi-line: 4:eb5a0daa2192
   |      json: [["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"]]
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
 
   $ hg fatelog --hidden
   @  eb5a0daa2192
@@ -1491,12 +1796,25 @@
   |    semi-colon: 1:471f378eab4c
   |    json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
   |    map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | @  471f378eab4c
-  |/     Successors: 2:7a230b46bf61
+  |/     Predecessors:
+  |      semi-colon:
+  |      json: []
+  |      map:
+  |      Successors: 2:7a230b46bf61
   |      multi-line: 2:7a230b46bf61
   |      json: [["7a230b46bf61e50b30308c6cfd7bd1269ef54702"]]
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
 
   $ hg fatelog
   o  7a230b46bf61
@@ -1511,9 +1829,21 @@
 Predecessors template should show no predecessors as they are non visible
   $ hg tlog
   @  7a230b46bf61
-  |
+  |    Predecessors:
+  |    semi-colon:
+  |    json: []
+  |    map:
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
 
   $ hg fatelog
   @  7a230b46bf61
@@ -1528,12 +1858,25 @@
   |    semi-colon: 1:471f378eab4c
   |    json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
   |    map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | x  471f378eab4c
-  |/     Successors: 2:7a230b46bf61
+  |/     Predecessors:
+  |      semi-colon:
+  |      json: []
+  |      map:
+  |      Successors: 2:7a230b46bf61
   |      multi-line: 2:7a230b46bf61
   |      json: [["7a230b46bf61e50b30308c6cfd7bd1269ef54702"]]
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
 
   $ hg fatelog --hidden
   @  7a230b46bf61
@@ -1620,9 +1963,21 @@
 
   $ hg tlog
   @  f897c6137566
-  |
+  |    Predecessors:
+  |    semi-colon:
+  |    json: []
+  |    map:
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
 
   $ hg fatelog
   @  f897c6137566
@@ -1640,6 +1995,9 @@
   |    semi-colon: 2:0dec01379d3b
   |    json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]
   |    map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | @  0dec01379d3b
   | |    Predecessors: 1:471f378eab4c
   | |    semi-colon: 1:471f378eab4c
@@ -1658,7 +2016,13 @@
   |      multi-line: 2:0dec01379d3b
   |      json: [["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]]
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
 
   $ hg fatelog
   o  f897c6137566
@@ -1678,10 +2042,25 @@
   |    semi-colon: 1:471f378eab4c
   |    json: ["471f378eab4c5e25f6c77f785b27c936efb22874"]
   |    map: 1:471f378eab4c5e25f6c77f785b27c936efb22874
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | @  471f378eab4c
-  |/
+  |/     Predecessors:
+  |      semi-colon:
+  |      json: []
+  |      map:
+  |      Successors:
+  |      multi-line:
+  |      json: []
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
 
   $ hg fatelog
   o  f897c6137566
@@ -1695,9 +2074,21 @@
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ hg tlog
   o  f897c6137566
-  |
+  |    Predecessors:
+  |    semi-colon:
+  |    json: []
+  |    map:
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   @  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
 
   $ hg fatelog
   o  f897c6137566
@@ -1711,6 +2102,9 @@
   |    semi-colon: 2:0dec01379d3b
   |    json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]
   |    map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | x  0dec01379d3b
   | |    Predecessors: 1:471f378eab4c
   | |    semi-colon: 1:471f378eab4c
@@ -1729,7 +2123,13 @@
   |      multi-line: 2:0dec01379d3b
   |      json: [["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]]
   @  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
 
 Check other fatelog implementations
 -----------------------------------
@@ -1962,24 +2362,58 @@
   |    semi-colon: 6:4a004186e638
   |    json: ["4a004186e63889f20cb16434fcbd72220bd1eace"]
   |    map: 6:4a004186e63889f20cb16434fcbd72220bd1eace
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | *  b18bc8331526
   |/     Predecessors: 6:4a004186e638
   |      semi-colon: 6:4a004186e638
   |      json: ["4a004186e63889f20cb16434fcbd72220bd1eace"]
   |      map: 6:4a004186e63889f20cb16434fcbd72220bd1eace
+  |      Successors:
+  |      multi-line:
+  |      json: ""
   | *  ba2ed02b0c9a
-  | |
+  | |    Predecessors:
+  | |    semi-colon:
+  | |    json: []
+  | |    map:
+  | |    Successors:
+  | |    multi-line:
+  | |    json: ""
   | x  4a004186e638
-  |/     Successors: 8:b18bc8331526; 9:0b997eb7ceee
+  |/     Predecessors:
+  |      semi-colon:
+  |      json: []
+  |      map:
+  |      Successors: 8:b18bc8331526; 9:0b997eb7ceee
   |      multi-line: 8:b18bc8331526
   |      multi-line: 9:0b997eb7ceee
   |      json: [["b18bc8331526a22cbb1801022bd1555bf291c48b"], ["0b997eb7ceeee06200a02f8aab185979092d514e"]]
   *  dd800401bd8c
-  |
+  |    Predecessors:
+  |    semi-colon:
+  |    json: []
+  |    map:
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   o  f897c6137566
-  |
+  |    Predecessors:
+  |    semi-colon:
+  |    json: []
+  |    map:
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
   $ hg fatelog
   @  0b997eb7ceee
   |
@@ -2001,16 +2435,25 @@
   |    semi-colon: 6:4a004186e638
   |    json: ["4a004186e63889f20cb16434fcbd72220bd1eace"]
   |    map: 6:4a004186e63889f20cb16434fcbd72220bd1eace
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | *  b18bc8331526
   |/     Predecessors: 6:4a004186e638
   |      semi-colon: 6:4a004186e638
   |      json: ["4a004186e63889f20cb16434fcbd72220bd1eace"]
   |      map: 6:4a004186e63889f20cb16434fcbd72220bd1eace
+  |      Successors:
+  |      multi-line:
+  |      json: ""
   | *  ba2ed02b0c9a
   | |    Predecessors: 4:9bd10a0775e4
   | |    semi-colon: 4:9bd10a0775e4
   | |    json: ["9bd10a0775e478708cada5f176ec6de654359ce7"]
   | |    map: 4:9bd10a0775e478708cada5f176ec6de654359ce7
+  | |    Successors:
+  | |    multi-line:
+  | |    json: ""
   | x  4a004186e638
   |/     Predecessors: 4:9bd10a0775e4
   |      semi-colon: 4:9bd10a0775e4
@@ -2025,8 +2468,15 @@
   |    semi-colon: 4:9bd10a0775e4
   |    json: ["9bd10a0775e478708cada5f176ec6de654359ce7"]
   |    map: 4:9bd10a0775e478708cada5f176ec6de654359ce7
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | x  9bd10a0775e4
-  |/     Successors: 5:dd800401bd8c 6:4a004186e638 7:ba2ed02b0c9a
+  |/     Predecessors:
+  |      semi-colon:
+  |      json: []
+  |      map:
+  |      Successors: 5:dd800401bd8c 6:4a004186e638 7:ba2ed02b0c9a
   |      multi-line: 5:dd800401bd8c 6:4a004186e638 7:ba2ed02b0c9a
   |      json: [["dd800401bd8c79d815329277739e433e883f784e", "4a004186e63889f20cb16434fcbd72220bd1eace", "ba2ed02b0c9a56b9fdbc4e79c7e57866984d8a1f"]]
   o  f897c6137566
@@ -2034,6 +2484,9 @@
   |    semi-colon: 2:0dec01379d3b
   |    json: ["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]
   |    map: 2:0dec01379d3be6318c470ead31b1fe7ae7cb53d5
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | x  0dec01379d3b
   | |    Predecessors: 1:471f378eab4c
   | |    semi-colon: 1:471f378eab4c
@@ -2052,7 +2505,13 @@
   |      multi-line: 2:0dec01379d3b
   |      json: [["0dec01379d3be6318c470ead31b1fe7ae7cb53d5"]]
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
   $ hg fatelog --hidden
   @  0b997eb7ceee
   |
@@ -2107,30 +2566,58 @@
   |    semi-colon: 4:9bd10a0775e4
   |    json: ["9bd10a0775e478708cada5f176ec6de654359ce7"]
   |    map: 4:9bd10a0775e478708cada5f176ec6de654359ce7
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | *  0b997eb7ceee
   | |    Predecessors: 4:9bd10a0775e4
   | |    semi-colon: 4:9bd10a0775e4
   | |    json: ["9bd10a0775e478708cada5f176ec6de654359ce7"]
   | |    map: 4:9bd10a0775e478708cada5f176ec6de654359ce7
+  | |    Successors:
+  | |    multi-line:
+  | |    json: ""
   * |  b18bc8331526
   |/     Predecessors: 4:9bd10a0775e4
   |      semi-colon: 4:9bd10a0775e4
   |      json: ["9bd10a0775e478708cada5f176ec6de654359ce7"]
   |      map: 4:9bd10a0775e478708cada5f176ec6de654359ce7
+  |      Successors:
+  |      multi-line:
+  |      json: ""
   *  dd800401bd8c
   |    Predecessors: 4:9bd10a0775e4
   |    semi-colon: 4:9bd10a0775e4
   |    json: ["9bd10a0775e478708cada5f176ec6de654359ce7"]
   |    map: 4:9bd10a0775e478708cada5f176ec6de654359ce7
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   | @  9bd10a0775e4
-  |/     Successors: 5:dd800401bd8c 9:0b997eb7ceee 10:eceed8f98ffc; 5:dd800401bd8c 8:b18bc8331526 10:eceed8f98ffc
+  |/     Predecessors:
+  |      semi-colon:
+  |      json: []
+  |      map:
+  |      Successors: 5:dd800401bd8c 9:0b997eb7ceee 10:eceed8f98ffc; 5:dd800401bd8c 8:b18bc8331526 10:eceed8f98ffc
   |      multi-line: 5:dd800401bd8c 9:0b997eb7ceee 10:eceed8f98ffc
   |      multi-line: 5:dd800401bd8c 8:b18bc8331526 10:eceed8f98ffc
   |      json: [["dd800401bd8c79d815329277739e433e883f784e", "0b997eb7ceeee06200a02f8aab185979092d514e", "eceed8f98ffc4186032e29a6542ab98888ebf68d"], ["dd800401bd8c79d815329277739e433e883f784e", "b18bc8331526a22cbb1801022bd1555bf291c48b", "eceed8f98ffc4186032e29a6542ab98888ebf68d"]]
   o  f897c6137566
-  |
+  |    Predecessors:
+  |    semi-colon:
+  |    json: []
+  |    map:
+  |    Successors:
+  |    multi-line:
+  |    json: ""
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
 
   $ hg fatelog
   *  eceed8f98ffc
@@ -2320,9 +2807,21 @@
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg tlog
   @  471f378eab4c
-  |
+  |    Predecessors:
+  |    semi-colon:
+  |    json: []
+  |    map:
+  |    Successors:
+  |    multi-line:
+  |    json: []
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
   $ hg fatelog
   @  471f378eab4c
   |    Obsfate: pruned by test (at 1970-01-01 00:00 +0000);
@@ -2361,9 +2860,22 @@
   (hidden revision '471f378eab4c' is pruned)
   $ hg tlog
   @  471f378eab4c
-  |
+  |    Predecessors:
+  |    semi-colon:
+  |    json: []
+  |    map:
+  |    Successors:
+  |    multi-line:
+  |    json: []
   o  ea207398892e
-  
+       Predecessors:
+       semi-colon:
+       json: []
+       map:
+       Successors:
+       multi-line:
+       json: ""
+
 # todo: the obsfate output is not ideal
   $ hg fatelog
   @  471f378eab4c