tests/test-evolve-templates.t
branchmercurial-4.6
changeset 5368 844b1ad5b34b
parent 5163 1752a2e7a226
parent 5367 cb5983c0287f
--- a/tests/test-evolve-templates.t	Wed Apr 08 01:17:01 2020 +0800
+++ b/tests/test-evolve-templates.t	Fri May 08 22:50:09 2020 +0800
@@ -19,8 +19,11 @@
   >     {if(predecessors, "\n  semi-colon: {join(predecessors, "; ")}")}\
   >     {if(successors, "\n  Successors: {successors}")}\
   >     {if(successors, "\n  semi-colon: {join(successors, "; ")}")}\
-  >     {if(obsfate, "\n  Fate: {join(obsfate, "\n  Fate: ")}\n")}\n'
-  > fatelog = log -G -T '{node|short}\n{if(obsfate, "  Obsfate: {join(obsfate, "; ")}\n\n")}'
+  >     {if(obsfate, "{obsfate % "\n  Fate: {fate}"}")}\
+  >     {if(obsorigin, "{obsorigin % "\n  Origin: {origin}"}")}\n\n'
+  > fateoriginlog = log -G -T '{node|short}\
+  >     {if(obsfate, "\n  Obsfate: {join(obsfate, "; ")}")}\
+  >     {if(obsorigin, "\n  Obsorigin: {join(obsorigin, "; ")}")}\n\n'
   > EOF
 
 Test templates on amended commit
@@ -74,17 +77,19 @@
 Predecessors template should show current revision as it is the working copy
   $ hg olog tip
   o  d004c8f274b9 (3) A2
+  |    reworded(description) from a468dc9b3633 using amend by test2 (Thu Apr 19 04:25:21 2001 +0000)
   |
   x  a468dc9b3633 (2) A1
-  |    reworded(description) as d004c8f274b9 using amend by test2 (Thu Apr 19 04:25:21 2001 +0000)
+  |    rewritten(description, content) from 471f378eab4c using amend by test (Fri Feb 13 23:31:30 2009 +0000)
   |
   @  471f378eab4c (1) A0
-       rewritten(description, content) as a468dc9b3633 using amend by test (Fri Feb 13 23:31:30 2009 +0000)
   
   $ hg tlog
   o  d004c8f274b9
   |    Predecessors: 1:471f378eab4c
   |    semi-colon: 1:471f378eab4c
+  |    Origin: rewritten using amend from 1:471f378eab4c by test, test2
+  |
   | @  471f378eab4c
   |/     Successors: 3:d004c8f274b9
   |      semi-colon: 3:d004c8f274b9
@@ -113,8 +118,9 @@
      summary:     ROOT
   
 
-  $ hg fatelog -q
+  $ hg fateoriginlog -q
   o  d004c8f274b9
+  |    Obsorigin: rewritten using amend from 1:471f378eab4c
   |
   | @  471f378eab4c
   |/     Obsfate: rewritten using amend as 3:d004c8f274b9
@@ -122,16 +128,18 @@
   o  ea207398892e
   
 
-  $ hg fatelog
+  $ hg fateoriginlog
   o  d004c8f274b9
+  |    Obsorigin: rewritten using amend from 1:471f378eab4c by test, test2
   |
   | @  471f378eab4c
   |/     Obsfate: rewritten using amend as 3:d004c8f274b9 by test, test2
   |
   o  ea207398892e
   
-  $ hg fatelog -v
+  $ hg fateoriginlog -v
   o  d004c8f274b9
+  |    Obsorigin: rewritten using amend from 1:471f378eab4c by test, test2 (between 2001-04-19 04:25 +0000 and 2009-02-13 23:31 +0000)
   |
   | @  471f378eab4c
   |/     Obsfate: rewritten using amend as 3:d004c8f274b9 by test, test2 (between 2001-04-19 04:25 +0000 and 2009-02-13 23:31 +0000)
@@ -169,6 +177,8 @@
   o  d004c8f274b9
   |    Predecessors: 2:a468dc9b3633
   |    semi-colon: 2:a468dc9b3633
+  |    Origin: reworded using amend from 2:a468dc9b3633 by test2
+  |
   | @  a468dc9b3633
   |/     Successors: 3:d004c8f274b9
   |      semi-colon: 3:d004c8f274b9
@@ -182,12 +192,15 @@
   o  d004c8f274b9
   |    Predecessors: 2:a468dc9b3633
   |    semi-colon: 2:a468dc9b3633
+  |    Origin: reworded using amend from 2:a468dc9b3633 by test2
+  |
   | @  a468dc9b3633
   |/     Predecessors: 1:471f378eab4c
   |      semi-colon: 1:471f378eab4c
   |      Successors: 3:d004c8f274b9
   |      semi-colon: 3:d004c8f274b9
   |      Fate: reworded using amend as 3:d004c8f274b9 by test2
+  |      Origin: rewritten using amend from 1:471f378eab4c
   |
   | x  471f378eab4c
   |/     Successors: 2:a468dc9b3633
@@ -196,8 +209,9 @@
   |
   o  ea207398892e
   
-  $ hg fatelog -v
+  $ hg fateoriginlog -v
   o  d004c8f274b9
+  |    Obsorigin: reworded using amend from 2:a468dc9b3633 by test2 (at 2001-04-19 04:25 +0000)
   |
   | @  a468dc9b3633
   |/     Obsfate: reworded using amend as 3:d004c8f274b9 by test2 (at 2001-04-19 04:25 +0000)
@@ -215,12 +229,15 @@
   @  d004c8f274b9
   |    Predecessors: 2:a468dc9b3633
   |    semi-colon: 2:a468dc9b3633
+  |    Origin: reworded using amend from 2:a468dc9b3633 by test2
+  |
   | x  a468dc9b3633
   |/     Predecessors: 1:471f378eab4c
   |      semi-colon: 1:471f378eab4c
   |      Successors: 3:d004c8f274b9
   |      semi-colon: 3:d004c8f274b9
   |      Fate: reworded using amend as 3:d004c8f274b9 by test2
+  |      Origin: rewritten using amend from 1:471f378eab4c
   |
   | x  471f378eab4c
   |/     Successors: 2:a468dc9b3633
@@ -229,17 +246,19 @@
   |
   o  ea207398892e
   
-  $ hg fatelog -v
+  $ hg fateoriginlog -v
   @  d004c8f274b9
   |
   o  ea207398892e
   
 
-  $ hg fatelog -v --hidden
+  $ hg fateoriginlog -v --hidden
   @  d004c8f274b9
+  |    Obsorigin: reworded using amend from 2:a468dc9b3633 by test2 (at 2001-04-19 04:25 +0000)
   |
   | x  a468dc9b3633
   |/     Obsfate: reworded using amend as 3:d004c8f274b9 by test2 (at 2001-04-19 04:25 +0000)
+  |      Obsorigin: rewritten using amend from 1:471f378eab4c by test (at 2009-02-13 23:31 +0000)
   |
   | x  471f378eab4c
   |/     Obsfate: rewritten using amend as 2:a468dc9b3633 by test (at 2009-02-13 23:31 +0000)
@@ -345,9 +364,13 @@
   o  f257fde29c7a
   |    Predecessors: 1:471597cad322
   |    semi-colon: 1:471597cad322
+  |    Origin: split using split from 1:471597cad322
+  |
   o  337fec4d2edc
   |    Predecessors: 1:471597cad322
   |    semi-colon: 1:471597cad322
+  |    Origin: split using split from 1:471597cad322
+  |
   | @  471597cad322
   |/     Successors: 2:337fec4d2edc 3:f257fde29c7a
   |      semi-colon: 2:337fec4d2edc 3:f257fde29c7a
@@ -355,10 +378,12 @@
   |
   o  ea207398892e
   
-  $ hg fatelog
+  $ hg fateoriginlog
   o  f257fde29c7a
+  |    Obsorigin: split using split from 1:471597cad322
   |
   o  337fec4d2edc
+  |    Obsorigin: split using split from 1:471597cad322
   |
   | @  471597cad322
   |/     Obsfate: split using split as 2:337fec4d2edc, 3:f257fde29c7a
@@ -384,9 +409,13 @@
   @  f257fde29c7a
   |    Predecessors: 1:471597cad322
   |    semi-colon: 1:471597cad322
+  |    Origin: split using split from 1:471597cad322
+  |
   o  337fec4d2edc
   |    Predecessors: 1:471597cad322
   |    semi-colon: 1:471597cad322
+  |    Origin: split using split from 1:471597cad322
+  |
   | x  471597cad322
   |/     Successors: 2:337fec4d2edc 3:f257fde29c7a
   |      semi-colon: 2:337fec4d2edc 3:f257fde29c7a
@@ -394,10 +423,12 @@
   |
   o  ea207398892e
   
-  $ hg fatelog --hidden
+  $ hg fateoriginlog --hidden
   @  f257fde29c7a
+  |    Obsorigin: split using split from 1:471597cad322
   |
   o  337fec4d2edc
+  |    Obsorigin: split using split from 1:471597cad322
   |
   | x  471597cad322
   |/     Obsfate: split using split as 2:337fec4d2edc, 3:f257fde29c7a
@@ -476,6 +507,8 @@
   o  eb5a0daa2192
   |    Predecessors: 1:471f378eab4c
   |    semi-colon: 1:471f378eab4c
+  |    Origin: rewritten using fold from 1:471f378eab4c
+  |
   | @  471f378eab4c
   |/     Successors: 3:eb5a0daa2192
   |      semi-colon: 3:eb5a0daa2192
@@ -483,8 +516,9 @@
   |
   o  ea207398892e
   
-  $ hg fatelog
+  $ hg fateoriginlog
   o  eb5a0daa2192
+  |    Obsorigin: rewritten using fold from 1:471f378eab4c
   |
   | @  471f378eab4c
   |/     Obsfate: rewritten using fold as 3:eb5a0daa2192
@@ -504,6 +538,9 @@
   o  eb5a0daa2192
   |    Predecessors: 2:0dec01379d3b 1:471f378eab4c
   |    semi-colon: 2:0dec01379d3b; 1:471f378eab4c
+  |    Origin: rewritten using fold from 2:0dec01379d3b
+  |    Origin: rewritten using fold from 1:471f378eab4c
+  |
   | @  0dec01379d3b
   | |    Successors: 3:eb5a0daa2192
   | |    semi-colon: 3:eb5a0daa2192
@@ -516,8 +553,9 @@
   |
   o  ea207398892e
   
-  $ hg fatelog
+  $ hg fateoriginlog
   o  eb5a0daa2192
+  |    Obsorigin: rewritten using fold from 2:0dec01379d3b; rewritten using fold from 1:471f378eab4c
   |
   | @  0dec01379d3b
   | |    Obsfate: rewritten using fold as 3:eb5a0daa2192
@@ -544,6 +582,9 @@
   @  eb5a0daa2192
   |    Predecessors: 2:0dec01379d3b 1:471f378eab4c
   |    semi-colon: 2:0dec01379d3b; 1:471f378eab4c
+  |    Origin: rewritten using fold from 2:0dec01379d3b
+  |    Origin: rewritten using fold from 1:471f378eab4c
+  |
   | x  0dec01379d3b
   | |    Successors: 3:eb5a0daa2192
   | |    semi-colon: 3:eb5a0daa2192
@@ -556,8 +597,9 @@
   |
   o  ea207398892e
   
-  $ hg fatelog --hidden
+  $ hg fateoriginlog --hidden
   @  eb5a0daa2192
+  |    Obsorigin: rewritten using fold from 2:0dec01379d3b; rewritten using fold from 1:471f378eab4c
   |
   | x  0dec01379d3b
   | |    Obsfate: rewritten using fold as 3:eb5a0daa2192
@@ -651,9 +693,13 @@
   *  019fadeab383
   |    Predecessors: 1:471f378eab4c
   |    semi-colon: 1:471f378eab4c
+  |    Origin: reworded using amend from 1:471f378eab4c
+  |
   | *  fdf9bde5129a
   |/     Predecessors: 1:471f378eab4c
   |      semi-colon: 1:471f378eab4c
+  |      Origin: reworded using amend from 1:471f378eab4c
+  |
   | @  471f378eab4c
   |/     Successors: 2:fdf9bde5129a; 4:019fadeab383
   |      semi-colon: 2:fdf9bde5129a; 4:019fadeab383
@@ -662,11 +708,13 @@
   |
   o  ea207398892e
   
-  $ hg fatelog
+  $ hg fateoriginlog
   *  019fadeab383
+  |    Obsorigin: reworded using amend from 1:471f378eab4c
   |
   | *  fdf9bde5129a
-  |/
+  |/     Obsorigin: reworded using amend from 1:471f378eab4c
+  |
   | @  471f378eab4c
   |/     Obsfate: reworded using amend as 2:fdf9bde5129a; reworded using amend as 4:019fadeab383
   |
@@ -685,7 +733,7 @@
   o  ea207398892e
   
 
-  $ hg fatelog
+  $ hg fateoriginlog
   *  019fadeab383
   |
   | @  fdf9bde5129a
@@ -697,16 +745,21 @@
   *  019fadeab383
   |    Predecessors: 3:65b757b745b9
   |    semi-colon: 3:65b757b745b9
+  |    Origin: reworded using amend from 3:65b757b745b9
+  |
   | x  65b757b745b9
   |/     Predecessors: 1:471f378eab4c
   |      semi-colon: 1:471f378eab4c
   |      Successors: 4:019fadeab383
   |      semi-colon: 4:019fadeab383
   |      Fate: reworded using amend as 4:019fadeab383
+  |      Origin: reworded using amend from 1:471f378eab4c
   |
   | @  fdf9bde5129a
   |/     Predecessors: 1:471f378eab4c
   |      semi-colon: 1:471f378eab4c
+  |      Origin: reworded using amend from 1:471f378eab4c
+  |
   | x  471f378eab4c
   |/     Successors: 2:fdf9bde5129a; 3:65b757b745b9
   |      semi-colon: 2:fdf9bde5129a; 3:65b757b745b9
@@ -715,14 +768,17 @@
   |
   o  ea207398892e
   
-  $ hg fatelog --hidden
+  $ hg fateoriginlog --hidden
   *  019fadeab383
+  |    Obsorigin: reworded using amend from 3:65b757b745b9
   |
   | x  65b757b745b9
   |/     Obsfate: reworded using amend as 4:019fadeab383
+  |      Obsorigin: reworded using amend from 1:471f378eab4c
   |
   | @  fdf9bde5129a
-  |/
+  |/     Obsorigin: reworded using amend from 1:471f378eab4c
+  |
   | x  471f378eab4c
   |/     Obsfate: reworded using amend as 2:fdf9bde5129a; reworded using amend as 3:65b757b745b9
   |
@@ -813,6 +869,8 @@
   o  eb5a0daa2192
   |    Predecessors: 1:471f378eab4c
   |    semi-colon: 1:471f378eab4c
+  |    Origin: rewritten using fold from 1:471f378eab4c
+  |
   | @  471f378eab4c
   |/     Successors: 4:eb5a0daa2192
   |      semi-colon: 4:eb5a0daa2192
@@ -820,8 +878,9 @@
   |
   o  ea207398892e
   
-  $ hg fatelog
+  $ hg fateoriginlog
   o  eb5a0daa2192
+  |    Obsorigin: rewritten using fold from 1:471f378eab4c
   |
   | @  471f378eab4c
   |/     Obsfate: rewritten using fold as 4:eb5a0daa2192
@@ -838,6 +897,9 @@
   o  eb5a0daa2192
   |    Predecessors: 2:0dec01379d3b 1:471f378eab4c
   |    semi-colon: 2:0dec01379d3b; 1:471f378eab4c
+  |    Origin: rewritten using amend, fold from 2:0dec01379d3b
+  |    Origin: rewritten using fold from 1:471f378eab4c
+  |
   | @  0dec01379d3b
   | |    Successors: 4:eb5a0daa2192
   | |    semi-colon: 4:eb5a0daa2192
@@ -850,8 +912,9 @@
   |
   o  ea207398892e
   
-  $ hg fatelog
+  $ hg fateoriginlog
   o  eb5a0daa2192
+  |    Obsorigin: rewritten using amend, fold from 2:0dec01379d3b; rewritten using fold from 1:471f378eab4c
   |
   | @  0dec01379d3b
   | |    Obsfate: rewritten using amend, fold as 4:eb5a0daa2192
@@ -872,6 +935,9 @@
   o  eb5a0daa2192
   |    Predecessors: 1:471f378eab4c 3:b7ea6d14e664
   |    semi-colon: 1:471f378eab4c; 3:b7ea6d14e664
+  |    Origin: rewritten using fold from 1:471f378eab4c
+  |    Origin: rewritten using fold from 3:b7ea6d14e664
+  |
   | @  b7ea6d14e664
   | |    Successors: 4:eb5a0daa2192
   | |    semi-colon: 4:eb5a0daa2192
@@ -884,8 +950,9 @@
   |
   o  ea207398892e
   
-  $ hg fatelog
+  $ hg fateoriginlog
   o  eb5a0daa2192
+  |    Obsorigin: rewritten using fold from 1:471f378eab4c; rewritten using fold from 3:b7ea6d14e664
   |
   | @  b7ea6d14e664
   | |    Obsfate: rewritten using fold as 4:eb5a0daa2192
@@ -907,12 +974,16 @@
   @  eb5a0daa2192
   |    Predecessors: 1:471f378eab4c 3:b7ea6d14e664
   |    semi-colon: 1:471f378eab4c; 3:b7ea6d14e664
+  |    Origin: rewritten using fold from 1:471f378eab4c
+  |    Origin: rewritten using fold from 3:b7ea6d14e664
+  |
   | x  b7ea6d14e664
   | |    Predecessors: 2:0dec01379d3b
   | |    semi-colon: 2:0dec01379d3b
   | |    Successors: 4:eb5a0daa2192
   | |    semi-colon: 4:eb5a0daa2192
   | |    Fate: rewritten using fold as 4:eb5a0daa2192
+  | |    Origin: reworded using amend from 2:0dec01379d3b
   | |
   | | x  0dec01379d3b
   | |/     Successors: 3:b7ea6d14e664
@@ -926,11 +997,13 @@
   |
   o  ea207398892e
   
-  $ hg fatelog --hidden
+  $ hg fateoriginlog --hidden
   @  eb5a0daa2192
+  |    Obsorigin: rewritten using fold from 1:471f378eab4c; rewritten using fold from 3:b7ea6d14e664
   |
   | x  b7ea6d14e664
   | |    Obsfate: rewritten using fold as 4:eb5a0daa2192
+  | |    Obsorigin: reworded using amend from 2:0dec01379d3b
   | |
   | | x  0dec01379d3b
   | |/     Obsfate: reworded using amend as 3:b7ea6d14e664
@@ -1036,6 +1109,8 @@
   o  7a230b46bf61
   |    Predecessors: 1:471f378eab4c
   |    semi-colon: 1:471f378eab4c
+  |    Origin: reworded using amend from 1:471f378eab4c
+  |
   | @  471f378eab4c
   |/     Successors: 2:7a230b46bf61
   |      semi-colon: 2:7a230b46bf61
@@ -1043,8 +1118,9 @@
   |
   o  ea207398892e
   
-  $ hg fatelog --hidden -v
+  $ hg fateoriginlog --hidden -v
   o  7a230b46bf61
+  |    Obsorigin: reworded using amend from 1:471f378eab4c by test (at 1970-01-01 00:00 +0000)
   |
   | @  471f378eab4c
   |/     Obsfate: reworded using amend as 2:7a230b46bf61 by test (at 1970-01-01 00:00 +0000)
@@ -1058,7 +1134,7 @@
   |
   o  ea207398892e
   
-  $ hg fatelog -v
+  $ hg fateoriginlog -v
   @  7a230b46bf61
   |
   o  ea207398892e
@@ -1067,6 +1143,8 @@
   @  7a230b46bf61
   |    Predecessors: 1:471f378eab4c
   |    semi-colon: 1:471f378eab4c
+  |    Origin: reworded using amend from 1:471f378eab4c
+  |
   | x  471f378eab4c
   |/     Successors: 2:7a230b46bf61
   |      semi-colon: 2:7a230b46bf61
@@ -1074,8 +1152,9 @@
   |
   o  ea207398892e
   
-  $ hg fatelog --hidden -v
+  $ hg fateoriginlog --hidden -v
   @  7a230b46bf61
+  |    Obsorigin: reworded using amend from 1:471f378eab4c by test (at 1970-01-01 00:00 +0000)
   |
   | x  471f378eab4c
   |/     Obsfate: reworded using amend as 2:7a230b46bf61 by test (at 1970-01-01 00:00 +0000)
@@ -1116,7 +1195,7 @@
   |
   o  ea207398892e
   
-  $ hg fatelog
+  $ hg fateoriginlog
   @  f897c6137566
   |
   o  ea207398892e
@@ -1131,6 +1210,8 @@
   o  f897c6137566
   |    Predecessors: 2:0dec01379d3b
   |    semi-colon: 2:0dec01379d3b
+  |    Origin: rewritten from 2:0dec01379d3b
+  |
   | @  0dec01379d3b
   | |    Predecessors: 1:471f378eab4c
   | |    semi-colon: 1:471f378eab4c
@@ -1138,6 +1219,7 @@
   | |    semi-colon: 3:f897c6137566; 1:471f378eab4c
   | |    Fate: rewritten as 3:f897c6137566
   | |    Fate: rewritten as 1:471f378eab4c
+  | |    Origin: rewritten from 1:471f378eab4c
   | |
   | x  471f378eab4c
   |/     Predecessors: 2:0dec01379d3b
@@ -1145,17 +1227,21 @@
   |      Successors: 2:0dec01379d3b
   |      semi-colon: 2:0dec01379d3b
   |      Fate: rewritten as 2:0dec01379d3b
+  |      Origin: rewritten from 2:0dec01379d3b
   |
   o  ea207398892e
   
-  $ hg fatelog
+  $ hg fateoriginlog
   o  f897c6137566
+  |    Obsorigin: rewritten from 2:0dec01379d3b
   |
   | @  0dec01379d3b
   | |    Obsfate: rewritten as 3:f897c6137566; rewritten as 1:471f378eab4c
+  | |    Obsorigin: rewritten from 1:471f378eab4c
   | |
   | x  471f378eab4c
   |/     Obsfate: rewritten as 2:0dec01379d3b
+  |      Obsorigin: rewritten from 2:0dec01379d3b
   |
   o  ea207398892e
   
@@ -1167,13 +1253,16 @@
   o  f897c6137566
   |    Predecessors: 1:471f378eab4c
   |    semi-colon: 1:471f378eab4c
+  |    Origin: rewritten from 1:471f378eab4c
+  |
   | @  471f378eab4c
   |/     Fate: pruned
   |
   o  ea207398892e
   
-  $ hg fatelog
+  $ hg fateoriginlog
   o  f897c6137566
+  |    Obsorigin: rewritten from 1:471f378eab4c
   |
   | @  471f378eab4c
   |/     Obsfate: pruned
@@ -1188,7 +1277,7 @@
   |
   @  ea207398892e
   
-  $ hg fatelog
+  $ hg fateoriginlog
   o  f897c6137566
   |
   @  ea207398892e
@@ -1197,6 +1286,8 @@
   o  f897c6137566
   |    Predecessors: 2:0dec01379d3b
   |    semi-colon: 2:0dec01379d3b
+  |    Origin: rewritten from 2:0dec01379d3b
+  |
   | x  0dec01379d3b
   | |    Predecessors: 1:471f378eab4c
   | |    semi-colon: 1:471f378eab4c
@@ -1204,6 +1295,7 @@
   | |    semi-colon: 3:f897c6137566; 1:471f378eab4c
   | |    Fate: rewritten as 3:f897c6137566
   | |    Fate: rewritten as 1:471f378eab4c
+  | |    Origin: rewritten from 1:471f378eab4c
   | |
   | x  471f378eab4c
   |/     Predecessors: 2:0dec01379d3b
@@ -1211,6 +1303,7 @@
   |      Successors: 2:0dec01379d3b
   |      semi-colon: 2:0dec01379d3b
   |      Fate: rewritten as 2:0dec01379d3b
+  |      Origin: rewritten from 2:0dec01379d3b
   |
   @  ea207398892e
   
@@ -1383,9 +1476,13 @@
   @  0b997eb7ceee
   |    Predecessors: 6:4a004186e638
   |    semi-colon: 6:4a004186e638
+  |    Origin: reworded using amend from 6:4a004186e638
+  |
   | *  b18bc8331526
   |/     Predecessors: 6:4a004186e638
   |      semi-colon: 6:4a004186e638
+  |      Origin: reworded using amend from 6:4a004186e638
+  |
   | *  ba2ed02b0c9a
   | |
   | x  4a004186e638
@@ -1400,11 +1497,13 @@
   |
   o  ea207398892e
   
-  $ hg fatelog
+  $ hg fateoriginlog
   @  0b997eb7ceee
+  |    Obsorigin: reworded using amend from 6:4a004186e638
   |
   | *  b18bc8331526
-  |/
+  |/     Obsorigin: reworded using amend from 6:4a004186e638
+  |
   | *  ba2ed02b0c9a
   | |
   | x  4a004186e638
@@ -1420,12 +1519,18 @@
   @  0b997eb7ceee
   |    Predecessors: 6:4a004186e638
   |    semi-colon: 6:4a004186e638
+  |    Origin: reworded using amend from 6:4a004186e638
+  |
   | *  b18bc8331526
   |/     Predecessors: 6:4a004186e638
   |      semi-colon: 6:4a004186e638
+  |      Origin: reworded using amend from 6:4a004186e638
+  |
   | *  ba2ed02b0c9a
   | |    Predecessors: 4:9bd10a0775e4
   | |    semi-colon: 4:9bd10a0775e4
+  | |    Origin: split from 4:9bd10a0775e4
+  | |
   | x  4a004186e638
   |/     Predecessors: 4:9bd10a0775e4
   |      semi-colon: 4:9bd10a0775e4
@@ -1433,10 +1538,13 @@
   |      semi-colon: 8:b18bc8331526; 9:0b997eb7ceee
   |      Fate: reworded using amend as 8:b18bc8331526
   |      Fate: reworded using amend as 9:0b997eb7ceee
+  |      Origin: split from 4:9bd10a0775e4
   |
   *  dd800401bd8c
   |    Predecessors: 4:9bd10a0775e4
   |    semi-colon: 4:9bd10a0775e4
+  |    Origin: split from 4:9bd10a0775e4
+  |
   | x  9bd10a0775e4
   |/     Successors: 5:dd800401bd8c 6:4a004186e638 7:ba2ed02b0c9a
   |      semi-colon: 5:dd800401bd8c 6:4a004186e638 7:ba2ed02b0c9a
@@ -1445,6 +1553,8 @@
   o  f897c6137566
   |    Predecessors: 2:0dec01379d3b
   |    semi-colon: 2:0dec01379d3b
+  |    Origin: rewritten from 2:0dec01379d3b
+  |
   | x  0dec01379d3b
   | |    Predecessors: 1:471f378eab4c
   | |    semi-colon: 1:471f378eab4c
@@ -1452,6 +1562,7 @@
   | |    semi-colon: 3:f897c6137566; 1:471f378eab4c
   | |    Fate: rewritten as 3:f897c6137566
   | |    Fate: rewritten as 1:471f378eab4c
+  | |    Origin: rewritten from 1:471f378eab4c
   | |
   | x  471f378eab4c
   |/     Predecessors: 2:0dec01379d3b
@@ -1459,31 +1570,40 @@
   |      Successors: 2:0dec01379d3b
   |      semi-colon: 2:0dec01379d3b
   |      Fate: rewritten as 2:0dec01379d3b
+  |      Origin: rewritten from 2:0dec01379d3b
   |
   o  ea207398892e
   
-  $ hg fatelog --hidden
+  $ hg fateoriginlog --hidden
   @  0b997eb7ceee
+  |    Obsorigin: reworded using amend from 6:4a004186e638
   |
   | *  b18bc8331526
-  |/
+  |/     Obsorigin: reworded using amend from 6:4a004186e638
+  |
   | *  ba2ed02b0c9a
+  | |    Obsorigin: split from 4:9bd10a0775e4
   | |
   | x  4a004186e638
   |/     Obsfate: reworded using amend as 8:b18bc8331526; reworded using amend as 9:0b997eb7ceee
+  |      Obsorigin: split from 4:9bd10a0775e4
   |
   *  dd800401bd8c
+  |    Obsorigin: split from 4:9bd10a0775e4
   |
   | x  9bd10a0775e4
   |/     Obsfate: split as 5:dd800401bd8c, 6:4a004186e638, 7:ba2ed02b0c9a
   |
   o  f897c6137566
+  |    Obsorigin: rewritten from 2:0dec01379d3b
   |
   | x  0dec01379d3b
   | |    Obsfate: rewritten as 3:f897c6137566; rewritten as 1:471f378eab4c
+  | |    Obsorigin: rewritten from 1:471f378eab4c
   | |
   | x  471f378eab4c
   |/     Obsfate: rewritten as 2:0dec01379d3b
+  |      Obsorigin: rewritten from 2:0dec01379d3b
   |
   o  ea207398892e
   
@@ -1499,15 +1619,23 @@
   *  eceed8f98ffc
   |    Predecessors: 4:9bd10a0775e4
   |    semi-colon: 4:9bd10a0775e4
+  |    Origin: rewritten using rebase from 4:9bd10a0775e4
+  |
   | *  0b997eb7ceee
   | |    Predecessors: 4:9bd10a0775e4
   | |    semi-colon: 4:9bd10a0775e4
+  | |    Origin: rewritten using amend from 4:9bd10a0775e4
+  | |
   * |  b18bc8331526
   |/     Predecessors: 4:9bd10a0775e4
   |      semi-colon: 4:9bd10a0775e4
+  |      Origin: rewritten using amend from 4:9bd10a0775e4
+  |
   *  dd800401bd8c
   |    Predecessors: 4:9bd10a0775e4
   |    semi-colon: 4:9bd10a0775e4
+  |    Origin: split from 4:9bd10a0775e4
+  |
   | @  9bd10a0775e4
   |/     Successors: 5:dd800401bd8c 9:0b997eb7ceee 10:eceed8f98ffc; 5:dd800401bd8c 8:b18bc8331526 10:eceed8f98ffc
   |      semi-colon: 5:dd800401bd8c 9:0b997eb7ceee 10:eceed8f98ffc; 5:dd800401bd8c 8:b18bc8331526 10:eceed8f98ffc
@@ -1518,14 +1646,18 @@
   |
   o  ea207398892e
   
-  $ hg fatelog
+  $ hg fateoriginlog
   *  eceed8f98ffc
+  |    Obsorigin: rewritten using rebase from 4:9bd10a0775e4
   |
   | *  0b997eb7ceee
+  | |    Obsorigin: rewritten using amend from 4:9bd10a0775e4
   | |
   * |  b18bc8331526
-  |/
+  |/     Obsorigin: rewritten using amend from 4:9bd10a0775e4
+  |
   *  dd800401bd8c
+  |    Obsorigin: split from 4:9bd10a0775e4
   |
   | @  9bd10a0775e4
   |/     Obsfate: split using amend, rebase as 5:dd800401bd8c, 9:0b997eb7ceee, 10:eceed8f98ffc; split using amend, rebase as 5:dd800401bd8c, 8:b18bc8331526, 10:eceed8f98ffc
@@ -1564,9 +1696,66 @@
   |
   o  ea207398892e
   
-  $ hg fatelog -v
+  $ hg fateoriginlog -v
   @  471f378eab4c
   |    Obsfate: pruned using prune by test (at 1970-01-01 00:00 +0000)
   |
   o  ea207398892e
   
+
+Test templates when having multiple unrelated predecessors
+==========================================================
+
+  $ hg init $TESTTMP/templates-local-multipreds
+  $ cd $TESTTMP/templates-local-multipreds
+  $ mkcommit R
+  $ mkcommit A
+  $ mkcommit B
+  $ hg up 'desc(R)'
+  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
+  $ mkcommit C
+  created new head
+  $ hg up 'desc(R)'
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  $ mkcommit Z
+  created new head
+  $ hg up 'desc(R)'
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  $ hg prune -r 'desc(A) + desc(B)' -s 'desc(Z)' --fold
+  2 changesets pruned
+  $ hg prune -r 'desc(C)' -s 'desc(Z)'
+  1 changesets pruned
+  $ hg debugobsolete
+  944ade52b6a1afe01817e7cae4c3006f1f128279 4568aafd15c0ac96a9828ce8418556bb1e76d6d7 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'prune', 'user': 'test'}
+  36ca49338d3a303e90126c28b1713092aaf3e9ed 4568aafd15c0ac96a9828ce8418556bb1e76d6d7 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'prune', 'user': 'test'}
+  5b3370228fe5fa9824b8df21cd54876ef23ac745 4568aafd15c0ac96a9828ce8418556bb1e76d6d7 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'prune', 'user': 'test'}
+  $ hg tlog
+  o  4568aafd15c0
+  |
+  @  7ca5bfdbe243
+  
+  $ hg tlog --hidden
+  o  4568aafd15c0
+  |    Predecessors: 2:36ca49338d3a 3:5b3370228fe5 1:944ade52b6a1
+  |    semi-colon: 2:36ca49338d3a; 3:5b3370228fe5; 1:944ade52b6a1
+  |    Origin: rewritten using prune from 2:36ca49338d3a
+  |    Origin: rewritten using prune from 3:5b3370228fe5
+  |    Origin: rewritten using prune from 1:944ade52b6a1
+  |
+  | x  5b3370228fe5
+  |/     Successors: 4:4568aafd15c0
+  |      semi-colon: 4:4568aafd15c0
+  |      Fate: rewritten using prune as 4:4568aafd15c0
+  |
+  | x  36ca49338d3a
+  | |    Successors: 4:4568aafd15c0
+  | |    semi-colon: 4:4568aafd15c0
+  | |    Fate: rewritten using prune as 4:4568aafd15c0
+  | |
+  | x  944ade52b6a1
+  |/     Successors: 4:4568aafd15c0
+  |      semi-colon: 4:4568aafd15c0
+  |      Fate: rewritten using prune as 4:4568aafd15c0
+  |
+  @  7ca5bfdbe243
+