--- a/hgext3rd/evolve/templatekw.py Fri Apr 24 01:14:34 2020 +0800
+++ b/hgext3rd/evolve/templatekw.py Tue Mar 10 17:18:09 2020 +0700
@@ -11,6 +11,7 @@
from . import (
error,
exthelper,
+ obshistory,
)
from mercurial import (
@@ -37,6 +38,18 @@
return templatekw.compatlist(context, mapping, b'trouble',
ctx.instabilities(), plural=b'troubles')
+@eh.templatekeyword(b'obsorigin', requires={b'ui', b'repo', b'ctx'})
+def showobsorigin(context, mapping):
+ ui = context.resource(mapping, b'ui')
+ repo = context.resource(mapping, b'repo')
+ ctx = context.resource(mapping, b'ctx')
+ values = []
+ r = obshistory.predecessorsandmarkers(repo, ctx.node())
+ for (nodes, markers) in sorted(obshistory.groupbyfoldid(r)):
+ v = obshistory.obsoriginprinter(ui, repo, nodes, markers)
+ values.append(v)
+ return templatekw.compatlist(context, mapping, b'origin', values)
+
_sp = templatekw.showpredecessors
if util.safehasattr(_sp, '_requires'):
def showprecursors(context, mapping):
--- a/tests/test-evolve-templates.t Fri Apr 24 01:14:34 2020 +0800
+++ b/tests/test-evolve-templates.t Tue Mar 10 17:18:09 2020 +0700
@@ -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
@@ -85,6 +88,8 @@
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)
@@ -350,9 +369,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
@@ -360,10 +383,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
@@ -389,9 +414,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
@@ -399,10 +428,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
@@ -481,6 +512,8 @@
o eb5a0daa2192
| Predecessors: 1:471f378eab4c
| semi-colon: 1:471f378eab4c
+ | Origin: folded using fold from 1:471f378eab4c
+ |
| @ 471f378eab4c
|/ Successors: 3:eb5a0daa2192
| semi-colon: 3:eb5a0daa2192
@@ -488,8 +521,9 @@
|
o ea207398892e
- $ hg fatelog
+ $ hg fateoriginlog
o eb5a0daa2192
+ | Obsorigin: folded using fold from 1:471f378eab4c
|
| @ 471f378eab4c
|/ Obsfate: folded using fold as 3:eb5a0daa2192
@@ -509,6 +543,8 @@
o eb5a0daa2192
| Predecessors: 2:0dec01379d3b 1:471f378eab4c
| semi-colon: 2:0dec01379d3b; 1:471f378eab4c
+ | Origin: folded using fold from 1:471f378eab4c, 2:0dec01379d3b
+ |
| @ 0dec01379d3b
| | Successors: 3:eb5a0daa2192
| | semi-colon: 3:eb5a0daa2192
@@ -521,8 +557,9 @@
|
o ea207398892e
- $ hg fatelog
+ $ hg fateoriginlog
o eb5a0daa2192
+ | Obsorigin: folded using fold from 1:471f378eab4c, 2:0dec01379d3b
|
| @ 0dec01379d3b
| | Obsfate: folded using fold as 3:eb5a0daa2192
@@ -549,6 +586,8 @@
@ eb5a0daa2192
| Predecessors: 2:0dec01379d3b 1:471f378eab4c
| semi-colon: 2:0dec01379d3b; 1:471f378eab4c
+ | Origin: folded using fold from 1:471f378eab4c, 2:0dec01379d3b
+ |
| x 0dec01379d3b
| | Successors: 3:eb5a0daa2192
| | semi-colon: 3:eb5a0daa2192
@@ -561,8 +600,9 @@
|
o ea207398892e
- $ hg fatelog --hidden
+ $ hg fateoriginlog --hidden
@ eb5a0daa2192
+ | Obsorigin: folded using fold from 1:471f378eab4c, 2:0dec01379d3b
|
| x 0dec01379d3b
| | Obsfate: folded using fold as 3:eb5a0daa2192
@@ -656,9 +696,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
@@ -667,11 +711,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
|
@@ -690,7 +736,7 @@
o ea207398892e
- $ hg fatelog
+ $ hg fateoriginlog
* 019fadeab383
|
| @ fdf9bde5129a
@@ -702,16 +748,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
@@ -720,14 +771,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
|
@@ -818,6 +872,8 @@
o eb5a0daa2192
| Predecessors: 1:471f378eab4c
| semi-colon: 1:471f378eab4c
+ | Origin: folded using fold from 1:471f378eab4c
+ |
| @ 471f378eab4c
|/ Successors: 4:eb5a0daa2192
| semi-colon: 4:eb5a0daa2192
@@ -825,8 +881,9 @@
|
o ea207398892e
- $ hg fatelog
+ $ hg fateoriginlog
o eb5a0daa2192
+ | Obsorigin: folded using fold from 1:471f378eab4c
|
| @ 471f378eab4c
|/ Obsfate: folded using fold as 4:eb5a0daa2192
@@ -843,6 +900,8 @@
o eb5a0daa2192
| Predecessors: 2:0dec01379d3b 1:471f378eab4c
| semi-colon: 2:0dec01379d3b; 1:471f378eab4c
+ | Origin: folded using amend, fold from 1:471f378eab4c, 2:0dec01379d3b
+ |
| @ 0dec01379d3b
| | Successors: 4:eb5a0daa2192
| | semi-colon: 4:eb5a0daa2192
@@ -855,8 +914,9 @@
|
o ea207398892e
- $ hg fatelog
+ $ hg fateoriginlog
o eb5a0daa2192
+ | Obsorigin: folded using amend, fold from 1:471f378eab4c, 2:0dec01379d3b
|
| @ 0dec01379d3b
| | Obsfate: rewritten using amend, fold as 4:eb5a0daa2192
@@ -877,6 +937,8 @@
o eb5a0daa2192
| Predecessors: 1:471f378eab4c 3:b7ea6d14e664
| semi-colon: 1:471f378eab4c; 3:b7ea6d14e664
+ | Origin: folded using fold from 1:471f378eab4c, 3:b7ea6d14e664
+ |
| @ b7ea6d14e664
| | Successors: 4:eb5a0daa2192
| | semi-colon: 4:eb5a0daa2192
@@ -889,8 +951,9 @@
|
o ea207398892e
- $ hg fatelog
+ $ hg fateoriginlog
o eb5a0daa2192
+ | Obsorigin: folded using fold from 1:471f378eab4c, 3:b7ea6d14e664
|
| @ b7ea6d14e664
| | Obsfate: folded using fold as 4:eb5a0daa2192
@@ -912,12 +975,15 @@
@ eb5a0daa2192
| Predecessors: 1:471f378eab4c 3:b7ea6d14e664
| semi-colon: 1:471f378eab4c; 3:b7ea6d14e664
+ | Origin: folded using fold from 1:471f378eab4c, 3:b7ea6d14e664
+ |
| x b7ea6d14e664
| | Predecessors: 2:0dec01379d3b
| | semi-colon: 2:0dec01379d3b
| | Successors: 4:eb5a0daa2192
| | semi-colon: 4:eb5a0daa2192
| | Fate: folded using fold as 4:eb5a0daa2192
+ | | Origin: reworded using amend from 2:0dec01379d3b
| |
| | x 0dec01379d3b
| |/ Successors: 3:b7ea6d14e664
@@ -931,11 +997,13 @@
|
o ea207398892e
- $ hg fatelog --hidden
+ $ hg fateoriginlog --hidden
@ eb5a0daa2192
+ | Obsorigin: folded using fold from 1:471f378eab4c, 3:b7ea6d14e664
|
| x b7ea6d14e664
| | Obsfate: folded using fold as 4:eb5a0daa2192
+ | | Obsorigin: reworded using amend from 2:0dec01379d3b
| |
| | x 0dec01379d3b
| |/ Obsfate: reworded using amend as 3:b7ea6d14e664
@@ -1041,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
@@ -1048,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)
@@ -1063,7 +1134,7 @@
|
o ea207398892e
- $ hg fatelog -v
+ $ hg fateoriginlog -v
@ 7a230b46bf61
|
o ea207398892e
@@ -1072,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
@@ -1079,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)
@@ -1124,7 +1198,7 @@
|
o ea207398892e
- $ hg fatelog
+ $ hg fateoriginlog
@ f897c6137566
|
o ea207398892e
@@ -1139,6 +1213,8 @@
o f897c6137566
| Predecessors: 2:0dec01379d3b
| semi-colon: 2:0dec01379d3b
+ | Origin: rewritten from 2:0dec01379d3b
+ |
| @ 0dec01379d3b
| | Predecessors: 1:471f378eab4c
| | semi-colon: 1:471f378eab4c
@@ -1146,6 +1222,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
@@ -1153,17 +1230,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
@@ -1175,13 +1256,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
@@ -1196,7 +1280,7 @@
|
@ ea207398892e
- $ hg fatelog
+ $ hg fateoriginlog
o f897c6137566
|
@ ea207398892e
@@ -1205,6 +1289,8 @@
o f897c6137566
| Predecessors: 2:0dec01379d3b
| semi-colon: 2:0dec01379d3b
+ | Origin: rewritten from 2:0dec01379d3b
+ |
| x 0dec01379d3b
| | Predecessors: 1:471f378eab4c
| | semi-colon: 1:471f378eab4c
@@ -1212,6 +1298,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
@@ -1219,6 +1306,7 @@
| Successors: 2:0dec01379d3b
| semi-colon: 2:0dec01379d3b
| Fate: rewritten as 2:0dec01379d3b
+ | Origin: rewritten from 2:0dec01379d3b
|
@ ea207398892e
@@ -1392,9 +1480,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
@@ -1409,11 +1501,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
@@ -1429,12 +1523,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
@@ -1442,10 +1542,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
@@ -1454,6 +1557,8 @@
o f897c6137566
| Predecessors: 2:0dec01379d3b
| semi-colon: 2:0dec01379d3b
+ | Origin: rewritten from 2:0dec01379d3b
+ |
| x 0dec01379d3b
| | Predecessors: 1:471f378eab4c
| | semi-colon: 1:471f378eab4c
@@ -1461,6 +1566,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
@@ -1468,31 +1574,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
@@ -1508,15 +1623,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
@@ -1527,14 +1650,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
@@ -1573,9 +1700,65 @@
|
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', 'fold-id': 'c59cbeaa', 'fold-idx': '1', 'fold-size': '2', 'operation': 'prune', 'user': 'test'}
+ 36ca49338d3a303e90126c28b1713092aaf3e9ed 4568aafd15c0ac96a9828ce8418556bb1e76d6d7 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'fold-id': 'c59cbeaa', 'fold-idx': '2', 'fold-size': '2', '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: folded using prune from 1:944ade52b6a1, 2:36ca49338d3a
+ | Origin: rewritten using prune from 3:5b3370228fe5
+ |
+ | 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: folded using prune as 4:4568aafd15c0
+ | |
+ | x 944ade52b6a1
+ |/ Successors: 4:4568aafd15c0
+ | semi-colon: 4:4568aafd15c0
+ | Fate: folded using prune as 4:4568aafd15c0
+ |
+ @ 7ca5bfdbe243
+