changeset 5301:e8660b28bfee

obslog: makes --origin flag the default Test change have been carefully validated.
author Anton Shestakov <av6@dwimlabs.net>
date Thu, 07 May 2020 01:29:48 +0200
parents a9f9edb168a1
children 883df7f06f2e
files hgext3rd/evolve/obshistory.py tests/test-amend-patch.t tests/test-amend.t tests/test-evolve-content-divergent-basic.t tests/test-evolve-content-divergent-corner-cases.t tests/test-evolve-content-divergent-interrupted.t tests/test-evolve-content-divergent-relocation.t tests/test-evolve-content-divergent-stack.t tests/test-evolve-cycles.t tests/test-evolve-effectflags.t tests/test-evolve-issue5958.t tests/test-evolve-issue5967.t tests/test-evolve-issue6097.t tests/test-evolve-obshistory-amend-then-fold.t tests/test-evolve-obshistory-amend.t tests/test-evolve-obshistory-complex.t tests/test-evolve-obshistory-content-divergent.t tests/test-evolve-obshistory-fold.t tests/test-evolve-obshistory-lots-of-splits.t tests/test-evolve-obshistory-phase-divergent.t tests/test-evolve-obshistory-prune.t tests/test-evolve-obshistory-split.t tests/test-evolve-obshistory.t tests/test-evolve-phase-divergence.t tests/test-evolve-public-content-divergent-corner-cases.t tests/test-evolve-templates.t tests/test-evolve.t tests/test-fold.t tests/test-metaedit.t tests/test-obsolete.t tests/test-rewind.t tests/test-topic-stack.t tests/test-touch.t tests/test-uncommit-interactive.t
diffstat 34 files changed, 1793 insertions(+), 756 deletions(-) [+]
line wrap: on
line diff
--- a/hgext3rd/evolve/obshistory.py	Thu May 07 01:29:24 2020 +0200
+++ b/hgext3rd/evolve/obshistory.py	Thu May 07 01:29:48 2020 +0200
@@ -59,7 +59,7 @@
      (b'a', b'all', False, _(b'show all related changesets, not only precursors')),
      (b'p', b'patch', False, _(b'show the patch between two obs versions')),
      (b'f', b'filternonlocal', False, _(b'filter out non local commits')),
-     (b'o', b'origin', False, _(b'show origin of changesets instead of fate')),
+     (b'o', b'origin', True, _(b'show origin of changesets instead of fate')),
      ] + commands.formatteropts,
     _(b'hg olog [OPTION]... [[-r] REV]...'),
     **compat.helpcategorykwargs('CATEGORY_CHANGE_NAVIGATION'))
--- a/tests/test-amend-patch.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-amend-patch.t	Thu May 07 01:29:48 2020 +0200
@@ -88,16 +88,16 @@
   f7ad4196431346de3c33c52e75374fba45e04313 af624b221c0c0bec5d74e2650180dd3eddcb7c42 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
   $ hg obslog -p -r .
   @  af624b221c0c (1) added a
+  |    amended(content) from f7ad41964313 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      diff --git a/a b/a
+  |      --- a/a
+  |      +++ b/a
+  |      @@ -1,1 +1,1 @@
+  |      -foo
+  |      +Gello
+  |
   |
   x  f7ad41964313 (0) added a
-       amended(content) as af624b221c0c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-         diff --git a/a b/a
-         --- a/a
-         +++ b/a
-         @@ -1,1 +1,1 @@
-         -foo
-         +Gello
-  
   
 Diff and status are good too
   $ hg diff
--- a/tests/test-amend.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-amend.t	Thu May 07 01:29:48 2020 +0200
@@ -21,13 +21,20 @@
   $ hg amend -d '0 0' -n "this a note on the obsmarker and supported for hg>=4.4"
   $ hg debugobsolete
   07f4944404050f47db2e5c5071e0e84e7a27bba9 6a022cbb61d5ba0f03f98ff2d36319dfea1034ae 0 (*) {'ef1': '*', 'user': 'test'} (glob)
-  $ hg obslog
+  $ hg obslog --no-origin
   @  6a022cbb61d5 (1) adda
   |
   x  07f494440405 (0) adda
        branch-changed(branch) as 6a022cbb61d5 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
          note: this a note on the obsmarker and supported for hg>=4.4
   
+  $ hg obslog
+  @  6a022cbb61d5 (1) adda
+  |    branch-changed(branch) from 07f494440405 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      note: this a note on the obsmarker and supported for hg>=4.4
+  |
+  x  07f494440405 (0) adda
+  
   $ hg branch
   foo
   $ hg branches
--- a/tests/test-evolve-content-divergent-basic.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-content-divergent-basic.t	Thu May 07 01:29:48 2020 +0200
@@ -900,61 +900,61 @@
   4a250e5bd992a897655e3b6f238e12452cf063e9 19ed1bf64a2cc2a824df5ac33a436eca1ae0475d 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'amend', 'user': 'test'}
   $ hg obslog --all --patch
   *  084ae625fa51 (2) E2
+  |    rewritten(description, content) from 4a250e5bd992 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      diff -r 4a250e5bd992 -r 084ae625fa51 changeset-description
+  |      --- a/changeset-description
+  |      +++ b/changeset-description
+  |      @@ -1,1 +1,1 @@
+  |      -E1
+  |      +E2
+  |
+  |      diff --git a/numbers b/numbers
+  |      --- a/numbers
+  |      +++ b/numbers
+  |      @@ -4,1 +4,1 @@
+  |      -four
+  |      +4
+  |      @@ -7,1 +7,1 @@
+  |      -7
+  |      +seven
+  |      diff --git a/romans b/romans
+  |      --- a/romans
+  |      +++ b/romans
+  |      @@ -6,1 +6,1 @@
+  |      -VI
+  |      +vi
+  |
   |
   | @  19ed1bf64a2c (3) E3
-  |/
+  |/     rewritten(description, content) from 4a250e5bd992 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |        diff -r 4a250e5bd992 -r 19ed1bf64a2c changeset-description
+  |        --- a/changeset-description
+  |        +++ b/changeset-description
+  |        @@ -1,1 +1,1 @@
+  |        -E1
+  |        +E3
+  |
+  |        diff --git a/letters b/letters
+  |        --- a/letters
+  |        +++ b/letters
+  |        @@ -4,1 +4,1 @@
+  |        -D
+  |        +d
+  |        diff --git a/numbers b/numbers
+  |        --- a/numbers
+  |        +++ b/numbers
+  |        @@ -1,1 +1,1 @@
+  |        -1
+  |        +one
+  |        diff --git a/romans b/romans
+  |        --- a/romans
+  |        +++ b/romans
+  |        @@ -2,1 +2,1 @@
+  |        -II
+  |        +ii
+  |
+  |
   x  4a250e5bd992 (1) E1
-       rewritten(description, content) as 084ae625fa51 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-         diff -r 4a250e5bd992 -r 084ae625fa51 changeset-description
-         --- a/changeset-description
-         +++ b/changeset-description
-         @@ -1,1 +1,1 @@
-         -E1
-         +E2
-  
-         diff --git a/numbers b/numbers
-         --- a/numbers
-         +++ b/numbers
-         @@ -4,1 +4,1 @@
-         -four
-         +4
-         @@ -7,1 +7,1 @@
-         -7
-         +seven
-         diff --git a/romans b/romans
-         --- a/romans
-         +++ b/romans
-         @@ -6,1 +6,1 @@
-         -VI
-         +vi
-  
-       rewritten(description, content) as 19ed1bf64a2c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-         diff -r 4a250e5bd992 -r 19ed1bf64a2c changeset-description
-         --- a/changeset-description
-         +++ b/changeset-description
-         @@ -1,1 +1,1 @@
-         -E1
-         +E3
-  
-         diff --git a/letters b/letters
-         --- a/letters
-         +++ b/letters
-         @@ -4,1 +4,1 @@
-         -D
-         +d
-         diff --git a/numbers b/numbers
-         --- a/numbers
-         +++ b/numbers
-         @@ -1,1 +1,1 @@
-         -1
-         +one
-         diff --git a/romans b/romans
-         --- a/romans
-         +++ b/romans
-         @@ -2,1 +2,1 @@
-         -II
-         +ii
-  
   
 
   $ hg evolve --content-divergent --rev 'desc("E3")'
@@ -1007,22 +1007,20 @@
   e7cb08a7241a98c908db298b61fc033b27f648c7 50bb00cad3206c79d231a621e319772302a88d8d 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'}
   $ hg obslog --patch
   @  50bb00cad320 (5) E4
+  |    reworded(description) from e7cb08a7241a using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      diff -r e7cb08a7241a -r 50bb00cad320 changeset-description
+  |      --- a/changeset-description
+  |      +++ b/changeset-description
+  |      @@ -1,4 +1,1 @@
+  |      -<<<<<<< divergent
+  |      -E2||||||| base
+  |      -E1=======
+  |      -E3>>>>>>> other
+  |      +E4
+  |
   |
   x    e7cb08a7241a (4) <<<<<<< divergent
-  |\     reworded(description) as 50bb00cad320 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-  | |      diff -r e7cb08a7241a -r 50bb00cad320 changeset-description
-  | |      --- a/changeset-description
-  | |      +++ b/changeset-description
-  | |      @@ -1,4 +1,1 @@
-  | |      -<<<<<<< divergent
-  | |      -E2||||||| base
-  | |      -E1=======
-  | |      -E3>>>>>>> other
-  | |      +E4
-  | |
-  | |
-  x |  084ae625fa51 (2) E2
-  | |    rewritten(description, content) as e7cb08a7241a using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  |\     rewritten(description, content) from 084ae625fa51 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   | |      diff -r 084ae625fa51 -r e7cb08a7241a changeset-description
   | |      --- a/changeset-description
   | |      +++ b/changeset-description
@@ -1052,86 +1050,89 @@
   | |      -II
   | |      +ii
   | |
+  | |    rewritten(description, content) from 19ed1bf64a2c using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |      diff -r 19ed1bf64a2c -r e7cb08a7241a changeset-description
+  | |      --- a/changeset-description
+  | |      +++ b/changeset-description
+  | |      @@ -1,1 +1,4 @@
+  | |      -E3
+  | |      +<<<<<<< divergent
+  | |      +E2||||||| base
+  | |      +E1=======
+  | |      +E3>>>>>>> other
+  | |
+  | |      diff --git a/numbers b/numbers
+  | |      --- a/numbers
+  | |      +++ b/numbers
+  | |      @@ -4,1 +4,1 @@
+  | |      -four
+  | |      +4
+  | |      @@ -7,1 +7,1 @@
+  | |      -7
+  | |      +seven
+  | |      diff --git a/romans b/romans
+  | |      --- a/romans
+  | |      +++ b/romans
+  | |      @@ -6,1 +6,1 @@
+  | |      -VI
+  | |      +vi
+  | |
+  | |
+  x |  084ae625fa51 (2) E2
+  | |    rewritten(description, content) from 4a250e5bd992 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |      diff -r 4a250e5bd992 -r 084ae625fa51 changeset-description
+  | |      --- a/changeset-description
+  | |      +++ b/changeset-description
+  | |      @@ -1,1 +1,1 @@
+  | |      -E1
+  | |      +E2
+  | |
+  | |      diff --git a/numbers b/numbers
+  | |      --- a/numbers
+  | |      +++ b/numbers
+  | |      @@ -4,1 +4,1 @@
+  | |      -four
+  | |      +4
+  | |      @@ -7,1 +7,1 @@
+  | |      -7
+  | |      +seven
+  | |      diff --git a/romans b/romans
+  | |      --- a/romans
+  | |      +++ b/romans
+  | |      @@ -6,1 +6,1 @@
+  | |      -VI
+  | |      +vi
+  | |
   | |
   | x  19ed1bf64a2c (3) E3
-  |/     rewritten(description, content) as e7cb08a7241a using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
-  |        diff -r 19ed1bf64a2c -r e7cb08a7241a changeset-description
+  |/     rewritten(description, content) from 4a250e5bd992 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |        diff -r 4a250e5bd992 -r 19ed1bf64a2c changeset-description
   |        --- a/changeset-description
   |        +++ b/changeset-description
-  |        @@ -1,1 +1,4 @@
-  |        -E3
-  |        +<<<<<<< divergent
-  |        +E2||||||| base
-  |        +E1=======
-  |        +E3>>>>>>> other
+  |        @@ -1,1 +1,1 @@
+  |        -E1
+  |        +E3
   |
+  |        diff --git a/letters b/letters
+  |        --- a/letters
+  |        +++ b/letters
+  |        @@ -4,1 +4,1 @@
+  |        -D
+  |        +d
   |        diff --git a/numbers b/numbers
   |        --- a/numbers
   |        +++ b/numbers
-  |        @@ -4,1 +4,1 @@
-  |        -four
-  |        +4
-  |        @@ -7,1 +7,1 @@
-  |        -7
-  |        +seven
+  |        @@ -1,1 +1,1 @@
+  |        -1
+  |        +one
   |        diff --git a/romans b/romans
   |        --- a/romans
   |        +++ b/romans
-  |        @@ -6,1 +6,1 @@
-  |        -VI
-  |        +vi
+  |        @@ -2,1 +2,1 @@
+  |        -II
+  |        +ii
   |
   |
   x  4a250e5bd992 (1) E1
-       rewritten(description, content) as 084ae625fa51 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-         diff -r 4a250e5bd992 -r 084ae625fa51 changeset-description
-         --- a/changeset-description
-         +++ b/changeset-description
-         @@ -1,1 +1,1 @@
-         -E1
-         +E2
   
-         diff --git a/numbers b/numbers
-         --- a/numbers
-         +++ b/numbers
-         @@ -4,1 +4,1 @@
-         -four
-         +4
-         @@ -7,1 +7,1 @@
-         -7
-         +seven
-         diff --git a/romans b/romans
-         --- a/romans
-         +++ b/romans
-         @@ -6,1 +6,1 @@
-         -VI
-         +vi
-  
-       rewritten(description, content) as 19ed1bf64a2c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-         diff -r 4a250e5bd992 -r 19ed1bf64a2c changeset-description
-         --- a/changeset-description
-         +++ b/changeset-description
-         @@ -1,1 +1,1 @@
-         -E1
-         +E3
-  
-         diff --git a/letters b/letters
-         --- a/letters
-         +++ b/letters
-         @@ -4,1 +4,1 @@
-         -D
-         +d
-         diff --git a/numbers b/numbers
-         --- a/numbers
-         +++ b/numbers
-         @@ -1,1 +1,1 @@
-         -1
-         +one
-         diff --git a/romans b/romans
-         --- a/romans
-         +++ b/romans
-         @@ -2,1 +2,1 @@
-         -II
-         +ii
-  
-  
+
--- a/tests/test-evolve-content-divergent-corner-cases.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-content-divergent-corner-cases.t	Thu May 07 01:29:48 2020 +0200
@@ -92,16 +92,16 @@
   8374d2ddc3a4d48428c3d2f80e4fc86f13736f96 98ab969ac8fbe315e6d2c24a8eb5eab5b81e4242 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'evolve', 'user': 'test'}
   $ hg obslog --all
   @    98ab969ac8fb (4) divergent
-  |\
+  |\     amended(content) from 593c57f2117e using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    amended(content) from 8374d2ddc3a4 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
   x |  593c57f2117e (2) divergent
-  | |    amended(content) as 98ab969ac8fb using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten(description, content) from 5f6d8a4bf34a using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  8374d2ddc3a4 (3) divergent
-  |/     amended(content) as 98ab969ac8fb using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  |/     rewritten(description, content) from 5f6d8a4bf34a using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  5f6d8a4bf34a (1) added b
-       rewritten(description, content) as 593c57f2117e using prune by test (Thu Jan 01 00:00:00 1970 +0000)
-       rewritten(description, content) as 8374d2ddc3a4 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   
 
 Test divergence resolution when it yields to an empty commit (issue4950)
@@ -177,16 +177,16 @@
   b2ae71172042972a8e8d2bc11e2b2fe4e0c3aa49 6b3776664a258aa4c7e13f90df20ae9170995217 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'evolve', 'user': 'test'}
   $ hg obslog --all
   @    6b3776664a25 (8) add cdivergent1
-  |\
+  |\     reworded(description) from b2ae71172042 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten from e3ff64ce8d4c using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
   x |  b2ae71172042 (7) add _c
-  | |    reworded(description) as 6b3776664a25 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    amended(content) from 48819a835615 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  e3ff64ce8d4c (6) add cdivergent1
-  |/     rewritten as 6b3776664a25 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  |/     rewritten(description, content) from 48819a835615 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  48819a835615 (5) add _c
-       amended(content) as b2ae71172042 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
-       rewritten(description, content) as e3ff64ce8d4c using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   
 
   $ cd ..
@@ -268,16 +268,16 @@
   6b096fb450709a194b21fb9b192fe9b1572c4af0 b87e0354d5cb081210298429d8b51de9871155a2 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'evolve', 'user': 'test'}
   $ hg obslog --all
   @    b87e0354d5cb (4) bdivergent
-  |\
+  |\     amended(content) from 05a6b6a9e633 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    amended(content) from 6b096fb45070 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
   x |  05a6b6a9e633 (2) bdivergent
-  | |    amended(content) as b87e0354d5cb using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten(description, content) from 37445b16603b using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  6b096fb45070 (3) bdivergent
-  |/     amended(content) as b87e0354d5cb using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  |/     rewritten(description, content) from 37445b16603b using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  37445b16603b (1) add _b
-       rewritten(description, content) as 05a6b6a9e633 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
-       rewritten(description, content) as 6b096fb45070 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   
 
   $ cd ..
@@ -373,22 +373,22 @@
   a2465d1d56d1aee8ed90d2292978456d2be6f7b9 51ee71efed6170064a7155a9a35e56af0292a203 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'evolve', 'user': 'test'}
   $ hg obslog --all
   @    51ee71efed61 (9) updated e
-  |\
+  |\     amended(content) from 0ceb21ca2557 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten from a2465d1d56d1 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
   x |  0ceb21ca2557 (7) updated e
-  | |    amended(content) as 51ee71efed61 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rebased(parent) from ff6f7cd76a7c using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  a2465d1d56d1 (8) updated e
-  | |    rewritten as 51ee71efed61 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rebased(parent) from de4ea3103326 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  de4ea3103326 (6) updated e
-  | |    rebased(parent) as a2465d1d56d1 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten(description, parent, content) from 8d71eadcc9df using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   x |  ff6f7cd76a7c (5) updated e
-  |/     rebased(parent) as 0ceb21ca2557 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  |/     rewritten(description, content) from 8d71eadcc9df using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  8d71eadcc9df (4) added e
-       rewritten(description, parent, content) as de4ea3103326 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
-       rewritten(description, content) as ff6f7cd76a7c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   
 
   $ cd ..
@@ -463,14 +463,14 @@
   92ecd58f9b05d6c0a1c3833a79359eea4b0268ff b1badc7ab394c2b9ed21e2961de43c71c2e2288f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'evolve', 'user': 'test'}
   $ hg obslog --all
   @    b1badc7ab394 (4) delete a
-  |\
+  |\     amended(content) from 0825dcee2670 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    amended(content) from 92ecd58f9b05 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
   x |  0825dcee2670 (2) delete a
-  | |    amended(content) as b1badc7ab394 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    amended(content) from dff6e52f5e41 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  92ecd58f9b05 (3) delete a
-  |/     amended(content) as b1badc7ab394 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  |/     amended(content) from dff6e52f5e41 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  dff6e52f5e41 (1) delete a
-       amended(content) as 0825dcee2670 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-       amended(content) as 92ecd58f9b05 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   
--- a/tests/test-evolve-content-divergent-interrupted.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-content-divergent-interrupted.t	Thu May 07 01:29:48 2020 +0200
@@ -237,15 +237,15 @@
 
   $ hg obslog -r . --all
   *  2ba73e31f264 (8) added c
+  |    amended(content) from ca1b80f7960a using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   | @  491e10505bae (10) added c
+  | |    amended(content) from 7398f702a162 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  7398f702a162 (9) added c
-  |/     amended(content) as 491e10505bae using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |/     amended(content) from ca1b80f7960a using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  ca1b80f7960a (3) added c
-       amended(content) as 2ba73e31f264 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-       amended(content) as 7398f702a162 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   
   $ cd ..
 
--- a/tests/test-evolve-content-divergent-relocation.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-content-divergent-relocation.t	Thu May 07 01:29:48 2020 +0200
@@ -109,19 +109,19 @@
   11f849d7159fa30a63dbbc1a6d251a8d996baeb5 e7fdc662d6305fee2908c3f1630e0b20d6f4689a 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'evolve', 'user': 'test'}
   $ hg obslog --all
   @    e7fdc662d630 (8) added b
-  |\
+  |\     amended(content) from 11f849d7159f using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten from 7ed0642d644b using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
   x |  11f849d7159f (7) added b
-  | |    amended(content) as e7fdc662d630 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rebased(parent) from da4b96f4a8d6 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  7ed0642d644b (5) added b
-  | |    rewritten as e7fdc662d630 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    amended(content) from b1661037fa25 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   x |  da4b96f4a8d6 (6) added b
-  |/     rebased(parent) as 11f849d7159f using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  |/     rebased(parent) from b1661037fa25 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  b1661037fa25 (2) added b
-       amended(content) as 7ed0642d644b using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-       rebased(parent) as da4b96f4a8d6 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   
 
 Resolving orphans to get back to a normal graph
@@ -238,19 +238,19 @@
   911c21adca136894a2b35f0a58fae7ee94fa5e61 4e844ab5e8142d26fb1f0990486379f2410b0358 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'evolve', 'user': 'test'}
   $ hg obslog --all
   @    4e844ab5e814 (15) added foo to x
-  |\
+  |\     rewritten(description, branch, content) from 45e15d6e88f5 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten from 911c21adca13 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
   x |  45e15d6e88f5 (13) added x
-  | |    rewritten(description, branch, content) as 4e844ab5e814 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rebased(parent) from 801b5920c7ea using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  911c21adca13 (14) added foo to x
-  | |    rewritten as 4e844ab5e814 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rebased(parent) from 5cf74a13db18 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  5cf74a13db18 (12) added foo to x
-  |/     rebased(parent) as 911c21adca13 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  |/     rewritten(description, branch, content) from 801b5920c7ea using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  801b5920c7ea (11) added x
-       rebased(parent) as 45e15d6e88f5 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
-       rewritten(description, branch, content) as 5cf74a13db18 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   
 
 Testing when both the content-divergence are on different parents and resolution
@@ -356,22 +356,22 @@
   0fc12918c8daa12ca83ce1e2a38e252b063b6276 ba11a9f47a2e4a3380c4d5f80f64de41645a6681 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '72', 'operation': 'evolve', 'user': 'test'}
   $ hg obslog -r . --all
   @    ba11a9f47a2e (21) added y
-  |\
+  |\     amended(content) from 0faa43228ee7 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten(branch, content) from 0fc12918c8da using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
   x |  0faa43228ee7 (19) added y
-  | |    amended(content) as ba11a9f47a2e using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    amended(content) from 1bb931596137 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  0fc12918c8da (20) added y
-  | |    rewritten(branch, content) as ba11a9f47a2e using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rebased(parent) from 9c32d35206fb using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   x |  1bb931596137 (18) added y
-  | |    amended(content) as 0faa43228ee7 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten(branch, parent) from ecf1d3992eb4 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  9c32d35206fb (17) added y
-  |/     rebased(parent) as 0fc12918c8da using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  |/     amended(content) from ecf1d3992eb4 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  ecf1d3992eb4 (16) added y
-       rewritten(branch, parent) as 1bb931596137 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
-       amended(content) as 9c32d35206fb using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   
 
 checking that relocated commit is there
@@ -581,22 +581,22 @@
   a7326a0785271a7bef2e812a9a742fb4256b4a3c 45e55c9ab3d0b4746161fcbe5b6c062eb4647fdb 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '72', 'operation': 'evolve', 'user': 'test'}
   $ hg obslog --all
   @    45e55c9ab3d0 (27) added z
-  |\
+  |\     rewritten(branch, content) from a7326a078527 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    amended(content) from ad2ec16eca1e using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
   x |  a7326a078527 (26) added z
-  | |    rewritten(branch, content) as 45e55c9ab3d0 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten(parent, content) from 9bc2ace42175 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  ad2ec16eca1e (25) added z
-  | |    amended(content) as 45e55c9ab3d0 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    amended(content) from ee19d6cc6704 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   x |  9bc2ace42175 (23) added z
-  | |    rewritten(parent, content) as a7326a078527 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    amended(content) from 2048a66e8834 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  ee19d6cc6704 (24) added z
-  |/     amended(content) as ad2ec16eca1e using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |/     rewritten(branch, parent) from 2048a66e8834 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  2048a66e8834 (22) added z
-       amended(content) as 9bc2ace42175 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-       rewritten(branch, parent) as ee19d6cc6704 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   
 
   $ cd ..
@@ -692,18 +692,18 @@
   88473f9137d12e90055d30bbb9b78dd786520870 916b4ec3b91fd03826bd4b179051ae3cee633b56 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'evolve', 'user': 'test'}
   $ hg obslog -r 'desc("divergent")' --all
   o    cc3d0c6117c7 (7) divergent
-  |\
+  |\     amended(content) from befae6138569 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten from bf4fe3a3afeb using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
   x |  befae6138569 (3) divergent
-  | |    amended(content) as cc3d0c6117c7 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rebased(parent) from 898ddd4443b3 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  bf4fe3a3afeb (6) divergent
-  | |    rewritten as cc3d0c6117c7 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten(parent, content) from 4cc21313ecee using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  4cc21313ecee (4) divergent
-  |/     rewritten(parent, content) as bf4fe3a3afeb using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  |/     amended(content) from 898ddd4443b3 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  898ddd4443b3 (2) divergent
-       amended(content) as 4cc21313ecee using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-       rebased(parent) as befae6138569 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   
   $ cd ..
--- a/tests/test-evolve-content-divergent-stack.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-content-divergent-stack.t	Thu May 07 01:29:48 2020 +0200
@@ -664,34 +664,34 @@
   
   $ hg obslog -r 'desc("watbar to a")' --all
   o    ebb749d2ace8 (21) watbar to a
-  |\
+  |\     rewritten from 186bdc2cdfa2 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten(description, content) from c04ff147ef79 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
   x |  186bdc2cdfa2 (20) watbar to a
-  | |    rewritten as ebb749d2ace8 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rebased(parent) from 8e222f257bbf using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  c04ff147ef79 (10) added a
-  | |    rewritten(description, content) as ebb749d2ace8 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rebased(parent) from c7586e2a9264 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   x |  8e222f257bbf (5) watbar to a
-  |/     rebased(parent) as 186bdc2cdfa2 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  |/     rewritten(description, content) from c7586e2a9264 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  c7586e2a9264 (1) added a
-       rewritten(description, content) as 8e222f257bbf using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-       rebased(parent) as c04ff147ef79 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   
   $ hg obslog -r 'desc("added b")' --all
   @  2a955e808c53 (14) added b
+  |    amended(content) from 6eb54b5af3fb using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   | *  509103439e5e (17) added b
+  | |    amended(content) from d5f148423c16 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   x |  6eb54b5af3fb (11) added b
-  | |    amended(content) as 2a955e808c53 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rebased(parent) from b1661037fa25 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  d5f148423c16 (6) added b
-  |/     amended(content) as 509103439e5e using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |/     rebased(parent) from b1661037fa25 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  b1661037fa25 (2) added b
-       rebased(parent) as 6eb54b5af3fb using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
-       rebased(parent) as d5f148423c16 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   
 
 Again, let's evolve the stack
--- a/tests/test-evolve-cycles.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-cycles.t	Thu May 07 01:29:48 2020 +0200
@@ -89,28 +89,39 @@
 
   $ hg obslog "desc(A)" --hidden
   @  2a34000d3544 (1) A
-  |    rewritten(description, parent, content) as c473644ee0e9 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) from a8df460dbbfe using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  a8df460dbbfe (3) C
-  |    rewritten(description, parent, content) as 2a34000d3544 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) from c473644ee0e9 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  c473644ee0e9 (2) B
-  |    rewritten(description, parent, content) as a8df460dbbfe using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) from 2a34000d3544 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   |
 
   $ hg obslog "desc(B)" --hidden
   @  2a34000d3544 (1) A
-  |    rewritten(description, parent, content) as c473644ee0e9 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) from a8df460dbbfe using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  a8df460dbbfe (3) C
-  |    rewritten(description, parent, content) as 2a34000d3544 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) from c473644ee0e9 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  c473644ee0e9 (2) B
-  |    rewritten(description, parent, content) as a8df460dbbfe using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) from 2a34000d3544 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   |
 
   $ hg obslog "desc(C)" --hidden
   @  2a34000d3544 (1) A
+  |    rewritten(description, parent, content) from a8df460dbbfe using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  |
+  x  a8df460dbbfe (3) C
+  |    rewritten(description, parent, content) from c473644ee0e9 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  |
+  x  c473644ee0e9 (2) B
+  |    rewritten(description, parent, content) from 2a34000d3544 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  |
+
+  $ hg obslog "desc(C)" --hidden --no-origin
+  @  2a34000d3544 (1) A
   |    rewritten(description, parent, content) as c473644ee0e9 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  a8df460dbbfe (3) C
@@ -124,6 +135,17 @@
 
   $ hg obslog "desc(C)" --hidden --all
   @  2a34000d3544 (1) A
+  |    rewritten(description, parent, content) from a8df460dbbfe using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  |
+  x  a8df460dbbfe (3) C
+  |    rewritten(description, parent, content) from c473644ee0e9 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  |
+  x  c473644ee0e9 (2) B
+  |    rewritten(description, parent, content) from 2a34000d3544 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  |
+
+  $ hg obslog "desc(C)" --hidden --all --no-origin
+  @  2a34000d3544 (1) A
   |    rewritten(description, parent, content) as c473644ee0e9 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  a8df460dbbfe (3) C
@@ -252,6 +274,27 @@
 
   $ hg obslog "desc(D)" --hidden
   x  0da815c333f6 (5) E
+  |    rewritten(description, parent, content) from 868d2e0eb19c using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  |
+  @    868d2e0eb19c (4) D
+  |\     split(description, parent, content) from a8df460dbbfe using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten(description, parent, content) from d9f908fde1a1 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
+  | x  d9f908fde1a1 (6) F
+  | |    rewritten(description, parent, content) from 0da815c333f6 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
+  +---x  2a34000d3544 (1) A
+  | |      split(description, parent, content) from a8df460dbbfe using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
+  x |  a8df460dbbfe (3) C
+  | |    rewritten(description, parent, content) from c473644ee0e9 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
+  x |  c473644ee0e9 (2) B
+  | |    rewritten(description, parent, content) from 2a34000d3544 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
+
+  $ hg obslog "desc(D)" --hidden --no-origin
+  x  0da815c333f6 (5) E
   |    rewritten(description, parent, content) as d9f908fde1a1 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   @    868d2e0eb19c (4) D
@@ -269,9 +312,32 @@
   x |  c473644ee0e9 (2) B
   | |    rewritten(description, parent, content) as a8df460dbbfe using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
+
 Check that all option doesn't crash on a cycle either
+
   $ hg obslog --all --hidden "desc(F)"
   x  0da815c333f6 (5) E
+  |    rewritten(description, parent, content) from 868d2e0eb19c using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  |
+  @    868d2e0eb19c (4) D
+  |\     split(description, parent, content) from a8df460dbbfe using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten(description, parent, content) from d9f908fde1a1 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
+  | x  d9f908fde1a1 (6) F
+  | |    rewritten(description, parent, content) from 0da815c333f6 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
+  +---x  2a34000d3544 (1) A
+  | |      split(description, parent, content) from a8df460dbbfe using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
+  x |  a8df460dbbfe (3) C
+  | |    rewritten(description, parent, content) from c473644ee0e9 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
+  x |  c473644ee0e9 (2) B
+  | |    rewritten(description, parent, content) from 2a34000d3544 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
+
+  $ hg obslog --all --hidden --no-origin "desc(F)"
+  x  0da815c333f6 (5) E
   |    rewritten(description, parent, content) as d9f908fde1a1 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   @    868d2e0eb19c (4) D
@@ -289,6 +355,7 @@
   x |  c473644ee0e9 (2) B
   | |    rewritten(description, parent, content) as a8df460dbbfe using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
+
 Check the json output is valid in this case
 
   $ hg obslog "desc(D)" --hidden --no-graph -Tjson | python -m json.tool
@@ -310,6 +377,207 @@
                   "operations": [
                       "prune"
                   ],
+                  "prednodes": [
+                      "a8df460dbbfe9ef0c1e5ab4fff02e9514672e379"
+                  ],
+                  "users": [
+                      "test"
+                  ],
+                  "verb": "split"
+              },
+              {
+                  "dates": [
+                      [
+                          *, (glob)
+                          0
+                      ]
+                  ],
+                  "effects": [
+                      "description",
+                      "parent",
+                      "content"
+                  ],
+                  "operations": [
+                      "prune"
+                  ],
+                  "prednodes": [
+                      "d9f908fde1a10ad198a462a3ec8b440bb397fc9c"
+                  ],
+                  "users": [
+                      "test"
+                  ],
+                  "verb": "rewritten"
+              }
+          ],
+          "node": "868d2e0eb19c2b55a2894d37e1c435c221384d48",
+          "shortdescription": "D"
+      },
+      {
+          "markers": [
+              {
+                  "dates": [
+                      [
+                          *, (glob)
+                          0
+                      ]
+                  ],
+                  "effects": [
+                      "description",
+                      "parent",
+                      "content"
+                  ],
+                  "operations": [
+                      "prune"
+                  ],
+                  "prednodes": [
+                      "0da815c333f6364b46c86b0a897c00eb617397b6"
+                  ],
+                  "users": [
+                      "test"
+                  ],
+                  "verb": "rewritten"
+              }
+          ],
+          "node": "d9f908fde1a10ad198a462a3ec8b440bb397fc9c",
+          "shortdescription": "F"
+      },
+      {
+          "markers": [
+              {
+                  "dates": [
+                      [
+                          *, (glob)
+                          0
+                      ]
+                  ],
+                  "effects": [
+                      "description",
+                      "parent",
+                      "content"
+                  ],
+                  "operations": [
+                      "prune"
+                  ],
+                  "prednodes": [
+                      "868d2e0eb19c2b55a2894d37e1c435c221384d48"
+                  ],
+                  "users": [
+                      "test"
+                  ],
+                  "verb": "rewritten"
+              }
+          ],
+          "node": "0da815c333f6364b46c86b0a897c00eb617397b6",
+          "shortdescription": "E"
+      },
+      {
+          "markers": [
+              {
+                  "dates": [
+                      [
+                          *, (glob)
+                          0
+                      ]
+                  ],
+                  "effects": [
+                      "description",
+                      "parent",
+                      "content"
+                  ],
+                  "operations": [
+                      "prune"
+                  ],
+                  "prednodes": [
+                      "c473644ee0e988d7f537e31423831bbc409f12f7"
+                  ],
+                  "users": [
+                      "test"
+                  ],
+                  "verb": "rewritten"
+              }
+          ],
+          "node": "a8df460dbbfe9ef0c1e5ab4fff02e9514672e379",
+          "shortdescription": "C"
+      },
+      {
+          "markers": [
+              {
+                  "dates": [
+                      [
+                          *, (glob)
+                          0
+                      ]
+                  ],
+                  "effects": [
+                      "description",
+                      "parent",
+                      "content"
+                  ],
+                  "operations": [
+                      "prune"
+                  ],
+                  "prednodes": [
+                      "2a34000d35446022104f7a091c06fe21ff2b5912"
+                  ],
+                  "users": [
+                      "test"
+                  ],
+                  "verb": "rewritten"
+              }
+          ],
+          "node": "c473644ee0e988d7f537e31423831bbc409f12f7",
+          "shortdescription": "B"
+      },
+      {
+          "markers": [
+              {
+                  "dates": [
+                      [
+                          *, (glob)
+                          0
+                      ]
+                  ],
+                  "effects": [
+                      "description",
+                      "parent",
+                      "content"
+                  ],
+                  "operations": [
+                      "prune"
+                  ],
+                  "prednodes": [
+                      "a8df460dbbfe9ef0c1e5ab4fff02e9514672e379"
+                  ],
+                  "users": [
+                      "test"
+                  ],
+                  "verb": "split"
+              }
+          ],
+          "node": "2a34000d35446022104f7a091c06fe21ff2b5912",
+          "shortdescription": "A"
+      }
+  ]
+
+  $ hg obslog "desc(D)" --hidden --no-graph --no-origin -Tjson | python -m json.tool
+  [
+      {
+          "markers": [
+              {
+                  "dates": [
+                      [
+                          *, (glob)
+                          0
+                      ]
+                  ],
+                  "effects": [
+                      "description",
+                      "parent",
+                      "content"
+                  ],
+                  "operations": [
+                      "prune"
+                  ],
                   "succnodes": [
                       "0da815c333f6364b46c86b0a897c00eb617397b6"
                   ],
@@ -469,4 +737,3 @@
           "shortdescription": "A"
       }
   ]
-
--- a/tests/test-evolve-effectflags.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-effectflags.t	Thu May 07 01:29:48 2020 +0200
@@ -32,9 +32,9 @@
   471f378eab4c5e25f6c77f785b27c936efb22874 fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '1', 'operation': 'amend', 'user': 'test'}
   $ hg obslog .
   @  fdf9bde5129a (2) A1
+  |    reworded(description) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  471f378eab4c (1) A0
-       reworded(description) as fdf9bde5129a using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   
   $ hg log --hidden -r "desc(A0)"
   changeset:   1:471f378eab4c
@@ -56,9 +56,9 @@
   ef4a313b1e0ade55718395d80e6b88c5ccd875eb 5485c92d34330dac9d7a63dc07e1e3373835b964 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '16', 'operation': 'amend', 'user': 'test'}
   $ hg obslog .
   @  5485c92d3433 (4) B0
+  |    reauthored(user) from ef4a313b1e0a using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  ef4a313b1e0a (3) B0
-       reauthored(user) as 5485c92d3433 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   
   $ hg log --hidden -r "ef4a313b1e0a"
   changeset:   3:ef4a313b1e0a
@@ -80,9 +80,9 @@
   2ef0680ff45038ac28c9f1ff3644341f54487280 4dd84345082e9e5291c2e6b3f335bbf8bf389378 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '32', 'operation': 'amend', 'user': 'test'}
   $ hg obslog .
   @  4dd84345082e (6) B1
+  |    date-changed(date) from 2ef0680ff450 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  2ef0680ff450 (5) B1
-       date-changed(date) as 4dd84345082e using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   
   $ hg log --hidden -r "2ef0680ff450"
   changeset:   5:2ef0680ff450
@@ -107,9 +107,9 @@
   bd3db8264ceebf1966319f5df3be7aac6acd1a8e 14a01456e0574f0e0a0b15b2345486a6364a8d79 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '64', 'operation': 'amend', 'user': 'test'}
   $ hg obslog .
   @  14a01456e057 (8) B2
+  |    branch-changed(branch) from bd3db8264cee using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  bd3db8264cee (7) B2
-       branch-changed(branch) as 14a01456e057 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   
   $ hg log --hidden -r "bd3db8264cee"
   changeset:   7:bd3db8264cee
@@ -136,9 +136,9 @@
   c85eff83a0340efd9da52b806a94c350222f3371 da86aa2f19a30d6686b15cae15c7b6c908ec9699 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
   $ hg obslog .
   @  da86aa2f19a3 (11) D0
+  |    rebased(parent) from c85eff83a034 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  c85eff83a034 (10) D0
-       rebased(parent) as da86aa2f19a3 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   
   $ hg log --hidden -r "c85eff83a034"
   changeset:   10:c85eff83a034
@@ -161,9 +161,9 @@
   ebfe0333e0d96f68a917afd97c0a0af87f1c3b5f 75781fdbdbf58a987516b00c980bccda1e9ae588 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
   $ hg obslog .
   @  75781fdbdbf5 (13) E0
+  |    amended(content) from ebfe0333e0d9 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  ebfe0333e0d9 (12) E0
-       amended(content) as 75781fdbdbf5 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   
   $ hg log --hidden -r "ebfe0333e0d9"
   changeset:   12:ebfe0333e0d9
@@ -187,9 +187,9 @@
   fad47e5bd78e6aa4db1b5a0a1751bc12563655ff a94e0fd5f1c81d969381a76eb0d37ce499a44fae 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '113', 'operation': 'amend', 'user': 'test'}
   $ hg obslog .
   @  a94e0fd5f1c8 (15) F1
+  |    rewritten(description, user, date, branch) from fad47e5bd78e using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  fad47e5bd78e (14) F0
-       rewritten(description, user, date, branch) as a94e0fd5f1c8 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   
   $ hg log --hidden -r "fad47e5bd78e"
   changeset:   14:fad47e5bd78e
@@ -251,9 +251,9 @@
   b57fed8d83228a8ae3748d8c3760a77638dd4f8c e509e2eb3df5d131ff7c02350bf2a9edd0c09478 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
   $ hg obslog tip
   o  e509e2eb3df5 (19) H1
+  |    rebased(parent) from b57fed8d8322 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  b57fed8d8322 (17) H1
-       rebased(parent) as e509e2eb3df5 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   
   $ hg log --hidden -r "b57fed8d8322"
   changeset:   17:b57fed8d8322
@@ -276,9 +276,9 @@
 
   $ hg obslog .
   @  12c6238b5e37 (22) I0
+  |    meta-changed(meta) from 2f599e54c1c6 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  2f599e54c1c6 (21) I0
-       meta-changed(meta) as 12c6238b5e37 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   
   $ hg log --hidden -r "2f599e54c1c6"
   changeset:   21:2f599e54c1c6
--- a/tests/test-evolve-issue5958.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-issue5958.t	Thu May 07 01:29:48 2020 +0200
@@ -69,21 +69,21 @@
   1d1fc409af989f5c0843507e202d69a1ad16c5ef 08bc7ba82799f1e419190b0dac1b0e1c4b1355f9 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '12', 'operation': 'rebase', 'user': 'test'}
   $ hg obslog -a -r .
   @  08bc7ba82799 (6) add foo.txt
+  |    rewritten(parent, content) from 1d1fc409af98 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   | *  c17bf400a278 (4) add foo.txt
+  | |    date-changed(date) from cc71ffbc7c00 using metaedit by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   x |  1d1fc409af98 (5) add foo.txt
-  | |    rewritten(parent, content) as 08bc7ba82799 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    amended(content) from a25dd7af6cf6 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   x |  a25dd7af6cf6 (3) add foo.txt
-  | |    amended(content) as 1d1fc409af98 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    amended(content) from 0065551bd38f using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   x |  0065551bd38f (2) add foo.txt
-  |/     amended(content) as a25dd7af6cf6 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |/     date-changed(date) from cc71ffbc7c00 using metaedit by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  cc71ffbc7c00 (1) add foo.txt
-       date-changed(date) as 0065551bd38f using metaedit by test (Thu Jan 01 00:00:00 1970 +0000)
-       date-changed(date) as c17bf400a278 using metaedit by test (Thu Jan 01 00:00:00 1970 +0000)
   
   $ hg evolve --content-divergent
   merge:[6] add foo.txt
--- a/tests/test-evolve-issue5967.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-issue5967.t	Thu May 07 01:29:48 2020 +0200
@@ -67,9 +67,9 @@
   dd9b5dd30cd6b703d126d55b34165fd6ec5717c9 0 {3ba7db0ce860a189d1fd1fd7675f0e871652ed16} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'evolve', 'user': 'test'}
   $ hg olog --all
   @  4d6fec23dcc4 (2) apricot
+  |    rewritten(description, content) from 3ba7db0ce860 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  3ba7db0ce860 (0) apple
-       rewritten(description, content) as 4d6fec23dcc4 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   
   $ hg olog --hidden --all 1
   x  dd9b5dd30cd6 (1) banana
--- a/tests/test-evolve-issue6097.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-issue6097.t	Thu May 07 01:29:48 2020 +0200
@@ -67,12 +67,12 @@
   e0486f65907dac7107e72a247386845e6a9fd83b 0 {692cc7b6212c102a9eafcf04ed2e4bfca5023754} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
   $ hg obslog
   @  2868fe6df617 (3) apricot and coconut
+  |    rewritten(parent, content) from 32acf8fb1b23 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  32acf8fb1b23 (2) apricot and coconut
-  |    rewritten(parent, content) as 2868fe6df617 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, content) from 692cc7b6212c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  692cc7b6212c (0) apricot
-       rewritten(description, content) as 32acf8fb1b23 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   
 
   $ hg evolve -r .
@@ -96,13 +96,13 @@
   2868fe6df617a3045cf668e4ab1c486a8692abd1 bb847d1d3a5f3de90f4fd5e845b69d848568401a 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'evolve', 'user': 'test'}
   $ hg obslog
   @  bb847d1d3a5f (4) apricot and coconut
+  |    rebased(parent) from 2868fe6df617 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  2868fe6df617 (3) apricot and coconut
-  |    rebased(parent) as bb847d1d3a5f using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(parent, content) from 32acf8fb1b23 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  32acf8fb1b23 (2) apricot and coconut
-  |    rewritten(parent, content) as 2868fe6df617 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, content) from 692cc7b6212c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  692cc7b6212c (0) apricot
-       rewritten(description, content) as 32acf8fb1b23 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   
--- a/tests/test-evolve-obshistory-amend-then-fold.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-obshistory-amend-then-fold.t	Thu May 07 01:29:48 2020 +0200
@@ -80,7 +80,7 @@
 -----------
 
 Check that obslog on head shows a coherent graph
-  $ hg obslog eb5a0daa2192 --patch
+  $ hg obslog eb5a0daa2192 --patch --no-origin
   @    eb5a0daa2192 (4) C0
   |\
   x |  471f378eab4c (1) A0
@@ -113,8 +113,27 @@
          +B1
   
   
+  $ hg obslog eb5a0daa2192 --patch
+  @    eb5a0daa2192 (4) C0
+  |\     folded(description, parent, content) from 471f378eab4c, b7ea6d14e664 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |      (No patch available, too many predecessors (2))
+  | |
+  x |  471f378eab4c (1) A0
+   /
+  x  b7ea6d14e664 (3) B1
+  |    reworded(description) from 0dec01379d3b using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      diff -r 0dec01379d3b -r b7ea6d14e664 changeset-description
+  |      --- a/changeset-description
+  |      +++ b/changeset-description
+  |      @@ -1,1 +1,1 @@
+  |      -B0
+  |      +B1
+  |
+  |
+  x  0dec01379d3b (2) B0
+  
 Check that obslog on A0 with all option shows everything
-  $ hg obslog 1 --hidden --all --patch
+  $ hg obslog 1 --hidden --all --patch --no-origin
   @    eb5a0daa2192 (4) C0
   |\
   x |  471f378eab4c (1) A0
@@ -147,7 +166,26 @@
          +B1
   
   
-  $ hg obslog eb5a0daa2192 --no-graph -Tjson | python -m json.tool
+  $ hg obslog 1 --hidden --all --patch
+  @    eb5a0daa2192 (4) C0
+  |\     folded(description, parent, content) from 471f378eab4c, b7ea6d14e664 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |      (No patch available, too many predecessors (2))
+  | |
+  x |  471f378eab4c (1) A0
+   /
+  x  b7ea6d14e664 (3) B1
+  |    reworded(description) from 0dec01379d3b using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      diff -r 0dec01379d3b -r b7ea6d14e664 changeset-description
+  |      --- a/changeset-description
+  |      +++ b/changeset-description
+  |      @@ -1,1 +1,1 @@
+  |      -B0
+  |      +B1
+  |
+  |
+  x  0dec01379d3b (2) B0
+  
+  $ hg obslog eb5a0daa2192 --no-graph --no-origin -Tjson | python -m json.tool
   [
       {
           "markers": [],
@@ -239,6 +277,80 @@
           "shortdescription": "A0"
       }
   ]
+  $ hg obslog eb5a0daa2192 --no-graph -Tjson | python -m json.tool
+  [
+      {
+          "markers": [
+              {
+                  "dates": [
+                      [
+                          *, (glob)
+                          0
+                      ],
+                      [
+                          *, (glob)
+                          0
+                      ]
+                  ],
+                  "effects": [
+                      *, (glob)
+                      *, (glob)
+                      "content"
+                  ],
+                  "operations": [
+                      "fold"
+                  ],
+                  "prednodes": [
+                      "471f378eab4c5e25f6c77f785b27c936efb22874",
+                      "b7ea6d14e664bdc8922221f7992631b50da3fb07"
+                  ],
+                  "users": [
+                      "test"
+                  ],
+                  "verb": "folded"
+              }
+          ],
+          "node": "eb5a0daa21923bbf8caeb2c42085b9e463861fd0",
+          "shortdescription": "C0"
+      },
+      {
+          "markers": [
+              {
+                  "dates": [
+                      [
+                          *, (glob)
+                          0
+                      ]
+                  ],
+                  "effects": [
+                      "description"
+                  ],
+                  "operations": [
+                      "amend"
+                  ],
+                  "prednodes": [
+                      "0dec01379d3be6318c470ead31b1fe7ae7cb53d5"
+                  ],
+                  "users": [
+                      "test"
+                  ],
+                  "verb": "reworded"
+              }
+          ],
+          "node": "b7ea6d14e664bdc8922221f7992631b50da3fb07",
+          "shortdescription": "B1"
+      },
+      {
+          "markers": [],
+          "node": "0dec01379d3be6318c470ead31b1fe7ae7cb53d5",
+          "shortdescription": "B0"
+      },
+      {
+          "markers": [],
+          "node": "471f378eab4c5e25f6c77f785b27c936efb22874",
+          "shortdescription": "A0"
+      }
+  ]
   $ hg update 471f378eab4c
   abort: hidden revision '471f378eab4c' was rewritten as: eb5a0daa2192!
   (use --hidden to access hidden revisions)
--- a/tests/test-evolve-obshistory-amend.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-obshistory-amend.t	Thu May 07 01:29:48 2020 +0200
@@ -45,54 +45,52 @@
 -------------------------------
   $ hg obslog --patch 4ae3a4151de9
   @  4ae3a4151de9 (2) A1
+  |    rewritten(description, content) from 471f378eab4c using amend by test (*) (glob)
+  |      diff -r 471f378eab4c -r 4ae3a4151de9 changeset-description
+  |      --- a/changeset-description
+  |      +++ b/changeset-description
+  |      @@ -1,1 +1,3 @@
+  |      -A0
+  |      +A1
+  |      +
+  |      +Better commit message
+  |
+  |      diff -r 471f378eab4c -r 4ae3a4151de9 A0
+  |      --- a/A0	Thu Jan 01 00:00:00 1970 +0000
+  |      +++ b/A0	Thu Jan 01 00:00:00 1970 +0000
+  |      @@ -1,1 +1,2 @@
+  |       A0
+  |      +42
+  |
   |
   x  471f378eab4c (1) A0
-       rewritten(description, content) as 4ae3a4151de9 using amend by test (*) (glob)
-         diff -r 471f378eab4c -r 4ae3a4151de9 changeset-description
-         --- a/changeset-description
-         +++ b/changeset-description
-         @@ -1,1 +1,3 @@
-         -A0
-         +A1
-         +
-         +Better commit message
-  
-         diff -r 471f378eab4c -r 4ae3a4151de9 A0
-         --- a/A0	Thu Jan 01 00:00:00 1970 +0000
-         +++ b/A0	Thu Jan 01 00:00:00 1970 +0000
-         @@ -1,1 +1,2 @@
-          A0
-         +42
-  
   
   $ hg obslog --patch --color debug
   @  [evolve.node|4ae3a4151de9] [evolve.rev|(2)] [evolve.short_description|A1]
+  |    [evolve.verb|rewritten](description, content) from [evolve.node|471f378eab4c] using [evolve.operation|amend] by [evolve.user|test] [evolve.date|(Thu Jan 01 00:00:00 1970 +0000)]
+  |      [diff.diffline|diff -r 471f378eab4c -r 4ae3a4151de9 changeset-description]
+  |      [diff.file_a|--- a/changeset-description]
+  |      [diff.file_b|+++ b/changeset-description]
+  |      [diff.hunk|@@ -1,1 +1,3 @@]
+  |      [diff.deleted|-A0]
+  |      [diff.inserted|+A1]
+  |      [diff.inserted|+]
+  |      [diff.inserted|+Better commit message]
+  |
+  |      [diff.diffline|diff -r 471f378eab4c -r 4ae3a4151de9 A0]
+  |      [diff.file_a|--- a/A0	Thu Jan 01 00:00:00 1970 +0000]
+  |      [diff.file_b|+++ b/A0	Thu Jan 01 00:00:00 1970 +0000]
+  |      [diff.hunk|@@ -1,1 +1,2 @@]
+  |       A0
+  |      [diff.inserted|+42]
+  |
   |
   x  [evolve.node|471f378eab4c] [evolve.rev|(1)] [evolve.short_description|A0]
-       [evolve.verb|rewritten](description, content) as [evolve.node|4ae3a4151de9] using [evolve.operation|amend] by [evolve.user|test] [evolve.date|(Thu Jan 01 00:00:00 1970 +0000)]
-         [diff.diffline|diff -r 471f378eab4c -r 4ae3a4151de9 changeset-description]
-         [diff.file_a|--- a/changeset-description]
-         [diff.file_b|+++ b/changeset-description]
-         [diff.hunk|@@ -1,1 +1,3 @@]
-         [diff.deleted|-A0]
-         [diff.inserted|+A1]
-         [diff.inserted|+]
-         [diff.inserted|+Better commit message]
-  
-         [diff.diffline|diff -r 471f378eab4c -r 4ae3a4151de9 A0]
-         [diff.file_a|--- a/A0	Thu Jan 01 00:00:00 1970 +0000]
-         [diff.file_b|+++ b/A0	Thu Jan 01 00:00:00 1970 +0000]
-         [diff.hunk|@@ -1,1 +1,2 @@]
-          A0
-         [diff.inserted|+42]
-  
   
 
   $ hg obslog --no-graph --patch 4ae3a4151de9
   4ae3a4151de9 (2) A1
-  
-  471f378eab4c (1) A0
-    rewritten(description, content) as 4ae3a4151de9 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+    rewritten(description, content) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
       diff -r 471f378eab4c -r 4ae3a4151de9 changeset-description
       --- a/changeset-description
       +++ b/changeset-description
@@ -110,43 +108,50 @@
       +42
   
   
+  471f378eab4c (1) A0
+  
 
 Test that content diff works with templating
   $ hg obslog --color=debug --patch 4ae3a4151de9 \
   > -T '{node|short} {desc|firstline}\n{markers % "patch:\n```{patch}```\n"}'
   @  4ae3a4151de9 A1
-  |
+  |  patch:
+  |  ```
+  |  [diff.diffline|diff -r 471f378eab4c -r 4ae3a4151de9 A0]
+  |  [diff.file_a|--- a/A0	Thu Jan 01 00:00:00 1970 +0000]
+  |  [diff.file_b|+++ b/A0	Thu Jan 01 00:00:00 1970 +0000]
+  |  [diff.hunk|@@ -1,1 +1,2 @@]
+  |   A0
+  |  [diff.inserted|+42]
+  |  ```
   x  471f378eab4c A0
-     patch:
-     ```
-     [diff.diffline|diff -r 471f378eab4c -r 4ae3a4151de9 A0]
-     [diff.file_a|--- a/A0	Thu Jan 01 00:00:00 1970 +0000]
-     [diff.file_b|+++ b/A0	Thu Jan 01 00:00:00 1970 +0000]
-     [diff.hunk|@@ -1,1 +1,2 @@]
-      A0
-     [diff.inserted|+42]
-     ```
+  
 
-  $ hg obslog 4ae3a4151de9 --graph -T'{label("log.summary", desc|firstline)} {if(markers, join(markers % "at {date|hgdate} by {user|person} ", " also "))}'
+  $ hg obslog 4ae3a4151de9 --graph --no-origin -T'{label("log.summary", desc|firstline)} {if(markers, join(markers % "at {date|hgdate} by {user|person} ", " also "))}'
   @  A1
   |
   x  A0 at 0 0 by test
   
+  $ hg obslog 4ae3a4151de9 --graph -T'{label("log.summary", desc|firstline)} {if(markers, join(markers % "at {date|hgdate} by {user|person} ", " also "))}'
+  @  A1 at 0 0 by test
+  |
+  x  A0
+  
 
 Check that the same thing works with the old {shortdescription} form
-  $ hg obslog 4ae3a4151de9 --graph -T'{label("log.summary", shortdescription)} {if(markers, join(markers % "at {date|hgdate} by {user|person} ", " also "))}'
+  $ hg obslog 4ae3a4151de9 --graph --no-origin -T'{label("log.summary", shortdescription)} {if(markers, join(markers % "at {date|hgdate} by {user|person} ", " also "))}'
   @  A1
   |
   x  A0 at 0 0 by test
   
+  $ hg obslog 4ae3a4151de9 --graph -T'{label("log.summary", shortdescription)} {if(markers, join(markers % "at {date|hgdate} by {user|person} ", " also "))}'
+  @  A1 at 0 0 by test
+  |
+  x  A0
+  
   $ hg obslog 4ae3a4151de9 --no-graph -Tjson | python -m json.tool
   [
       {
-          "markers": [],
-          "node": "4ae3a4151de9aa872113f0b196e28323308981e8",
-          "shortdescription": "A1"
-      },
-      {
           "markers": [
               {
                   "dates": [
@@ -162,8 +167,8 @@
                   "operations": [
                       "amend"
                   ],
-                  "succnodes": [
-                      "4ae3a4151de9aa872113f0b196e28323308981e8"
+                  "prednodes": [
+                      "471f378eab4c5e25f6c77f785b27c936efb22874"
                   ],
                   "users": [
                       "test"
@@ -171,57 +176,22 @@
                   "verb": "rewritten"
               }
           ],
+          "node": "4ae3a4151de9aa872113f0b196e28323308981e8",
+          "shortdescription": "A1"
+      },
+      {
+          "markers": [],
           "node": "471f378eab4c5e25f6c77f785b27c936efb22874",
           "shortdescription": "A0"
       }
   ]
   $ hg obslog --hidden --patch 471f378eab4c
   x  471f378eab4c (1) A0
-       rewritten(description, content) as 4ae3a4151de9 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-         diff -r 471f378eab4c -r 4ae3a4151de9 changeset-description
-         --- a/changeset-description
-         +++ b/changeset-description
-         @@ -1,1 +1,3 @@
-         -A0
-         +A1
-         +
-         +Better commit message
-  
-         diff -r 471f378eab4c -r 4ae3a4151de9 A0
-         --- a/A0	Thu Jan 01 00:00:00 1970 +0000
-         +++ b/A0	Thu Jan 01 00:00:00 1970 +0000
-         @@ -1,1 +1,2 @@
-          A0
-         +42
-  
   
   $ hg obslog --hidden 471f378eab4c --no-graph -Tjson | python -m json.tool
   [
       {
-          "markers": [
-              {
-                  "dates": [
-                      [
-                          *, (glob)
-                          0
-                      ]
-                  ],
-                  "effects": [
-                      *, (glob)
-                      "content"
-                  ],
-                  "operations": [
-                      "amend"
-                  ],
-                  "succnodes": [
-                      "4ae3a4151de9aa872113f0b196e28323308981e8"
-                  ],
-                  "users": [
-                      "test"
-                  ],
-                  "verb": "rewritten"
-              }
-          ],
+          "markers": [],
           "node": "471f378eab4c5e25f6c77f785b27c936efb22874",
           "shortdescription": "A0"
       }
@@ -240,24 +210,44 @@
 Check output on the server side
 -------------------------------
 
-  $ hg obslog -R $TESTTMP/server --patch 4ae3a4151de9
+  $ hg obslog -R $TESTTMP/server --patch 4ae3a4151de9 --no-origin
   o  4ae3a4151de9 (1) A1
   |
   x  471f378eab4c
        rewritten(description, content) as 4ae3a4151de9 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
          (No patch available, context is not local)
   
-  $ hg obslog -R $TESTTMP/server -f --patch 4ae3a4151de9
+  $ hg obslog -R $TESTTMP/server --patch 4ae3a4151de9
   o  4ae3a4151de9 (1) A1
+  |    rewritten(description, content) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      (No patch available, predecessor is unknown locally)
+  |
+  x  471f378eab4c
   
-  $ hg obslog -R $TESTTMP/server --no-graph --patch 4ae3a4151de9
+  $ hg obslog -R $TESTTMP/server --no-graph --patch 4ae3a4151de9 --no-origin
   4ae3a4151de9 (1) A1
   
   471f378eab4c
     rewritten(description, content) as 4ae3a4151de9 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
       (No patch available, context is not local)
   
+  $ hg obslog -R $TESTTMP/server --no-graph --patch 4ae3a4151de9
+  4ae3a4151de9 (1) A1
+    rewritten(description, content) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+      (No patch available, predecessor is unknown locally)
+  
+  471f378eab4c
+  
 
+  $ hg obslog -R $TESTTMP/server -f --patch 4ae3a4151de9 --no-origin
+  o  4ae3a4151de9 (1) A1
+  
+  $ hg obslog -R $TESTTMP/server -f --patch 4ae3a4151de9
+  o  4ae3a4151de9 (1) A1
+  
+  $ hg obslog -R $TESTTMP/server --no-graph -f --patch 4ae3a4151de9 --no-origin
+  4ae3a4151de9 (1) A1
+  
   $ hg obslog -R $TESTTMP/server --no-graph -f --patch 4ae3a4151de9
   4ae3a4151de9 (1) A1
   
@@ -333,9 +323,7 @@
 
   $ hg obslog --patch 92210308515b
   @  92210308515b (4) A3
-  |
-  x  4f1685185907 (3) A2
-  |    reworded(description) as 92210308515b using amend by test (Thu Jan 01 00:00:01 1970 +0000)
+  |    reworded(description) from 4f1685185907 using amend by test (Thu Jan 01 00:00:01 1970 +0000)
   |      diff -r 4f1685185907 -r 92210308515b changeset-description
   |      --- a/changeset-description
   |      +++ b/changeset-description
@@ -347,8 +335,8 @@
   |      +Better better better commit message
   |
   |
-  x  4ae3a4151de9 (2) A1
-  |    reworded(description) as 4f1685185907 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  x  4f1685185907 (3) A2
+  |    reworded(description) from 4ae3a4151de9 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |      diff -r 4ae3a4151de9 -r 4f1685185907 changeset-description
   |      --- a/changeset-description
   |      +++ b/changeset-description
@@ -360,31 +348,31 @@
   |      +Better better commit message
   |
   |
+  x  4ae3a4151de9 (2) A1
+  |    rewritten(description, content) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      diff -r 471f378eab4c -r 4ae3a4151de9 changeset-description
+  |      --- a/changeset-description
+  |      +++ b/changeset-description
+  |      @@ -1,1 +1,3 @@
+  |      -A0
+  |      +A1
+  |      +
+  |      +Better commit message
+  |
+  |      diff -r 471f378eab4c -r 4ae3a4151de9 A0
+  |      --- a/A0	Thu Jan 01 00:00:00 1970 +0000
+  |      +++ b/A0	Thu Jan 01 00:00:00 1970 +0000
+  |      @@ -1,1 +1,2 @@
+  |       A0
+  |      +42
+  |
+  |
   x  471f378eab4c (1) A0
-       rewritten(description, content) as 4ae3a4151de9 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-         diff -r 471f378eab4c -r 4ae3a4151de9 changeset-description
-         --- a/changeset-description
-         +++ b/changeset-description
-         @@ -1,1 +1,3 @@
-         -A0
-         +A1
-         +
-         +Better commit message
-  
-         diff -r 471f378eab4c -r 4ae3a4151de9 A0
-         --- a/A0	Thu Jan 01 00:00:00 1970 +0000
-         +++ b/A0	Thu Jan 01 00:00:00 1970 +0000
-         @@ -1,1 +1,2 @@
-          A0
-         +42
-  
   
 Test that description diff works with templating
   $ hg obslog --color=debug --patch 92210308515b \
   > -T '{node|short} {desc|firstline}\n{markers % "description diff:\n```{descdiff}```\n"}'
   @  92210308515b A3
-  |
-  x  4f1685185907 A2
   |  description diff:
   |  ```
   |  [diff.diffline|diff -r 4f1685185907 -r 92210308515b changeset-description]
@@ -397,7 +385,7 @@
   |  [diff.deleted|-Better better commit message]
   |  [diff.inserted|+Better better better commit message]
   |  ```
-  x  4ae3a4151de9 A1
+  x  4f1685185907 A2
   |  description diff:
   |  ```
   |  [diff.diffline|diff -r 4ae3a4151de9 -r 4f1685185907 changeset-description]
@@ -410,74 +398,73 @@
   |  [diff.deleted|-Better commit message]
   |  [diff.inserted|+Better better commit message]
   |  ```
+  x  4ae3a4151de9 A1
+  |  description diff:
+  |  ```
+  |  [diff.diffline|diff -r 471f378eab4c -r 4ae3a4151de9 changeset-description]
+  |  [diff.file_a|--- a/changeset-description]
+  |  [diff.file_b|+++ b/changeset-description]
+  |  [diff.hunk|@@ -1,1 +1,3 @@]
+  |  [diff.deleted|-A0]
+  |  [diff.inserted|+A1]
+  |  [diff.inserted|+]
+  |  [diff.inserted|+Better commit message]
+  |  ```
   x  471f378eab4c A0
-     description diff:
-     ```
-     [diff.diffline|diff -r 471f378eab4c -r 4ae3a4151de9 changeset-description]
-     [diff.file_a|--- a/changeset-description]
-     [diff.file_b|+++ b/changeset-description]
-     [diff.hunk|@@ -1,1 +1,3 @@]
-     [diff.deleted|-A0]
-     [diff.inserted|+A1]
-     [diff.inserted|+]
-     [diff.inserted|+Better commit message]
-     ```
+  
 
 Check the output on the server
 ------------------------------
 
   $ hg obslog -R $TESTTMP/server --patch 92210308515b
   o  92210308515b (2) A3
+  |    reworded(description) from 4f1685185907 using amend by test (Thu Jan 01 00:00:01 1970 +0000)
+  |      (No patch available, predecessor is unknown locally)
   |
   x  4f1685185907
-  |    reworded(description) as 92210308515b using amend by test (Thu Jan 01 00:00:01 1970 +0000)
+  |    reworded(description) from 4ae3a4151de9 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |      (No patch available, context is not local)
   |
   x  4ae3a4151de9 (1) A1
-  |    reworded(description) as 4f1685185907 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-  |      (No patch available, successor is unknown locally)
+  |    rewritten(description, content) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      (No patch available, predecessor is unknown locally)
   |
   x  471f378eab4c
-       rewritten(description, content) as 4ae3a4151de9 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-         (No patch available, context is not local)
   
   $ hg obslog -R $TESTTMP/server -f --patch 92210308515b
   o  92210308515b (2) A3
+  |    reworded(description) from 4ae3a4151de9 using amend by test (between Thu Jan 01 00:00:00 1970 +0000 and Thu Jan 01 00:00:01 1970 +0000)
+  |      diff -r 4ae3a4151de9 -r 92210308515b changeset-description
+  |      --- a/changeset-description
+  |      +++ b/changeset-description
+  |      @@ -1,3 +1,3 @@
+  |      -A1
+  |      +A3
+  |
+  |      -Better commit message
+  |      +Better better better commit message
+  |
   |
   x  4ae3a4151de9 (1) A1
-       reworded(description) as 92210308515b using amend by test (between Thu Jan 01 00:00:00 1970 +0000 and Thu Jan 01 00:00:01 1970 +0000)
-         diff -r 4ae3a4151de9 -r 92210308515b changeset-description
-         --- a/changeset-description
-         +++ b/changeset-description
-         @@ -1,3 +1,3 @@
-         -A1
-         +A3
-  
-         -Better commit message
-         +Better better better commit message
-  
   
   $ hg obslog -R $TESTTMP/server --no-graph --patch 92210308515b
   92210308515b (2) A3
+    reworded(description) from 4f1685185907 using amend by test (Thu Jan 01 00:00:01 1970 +0000)
+      (No patch available, predecessor is unknown locally)
   
   4f1685185907
-    reworded(description) as 92210308515b using amend by test (Thu Jan 01 00:00:01 1970 +0000)
+    reworded(description) from 4ae3a4151de9 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
       (No patch available, context is not local)
   
   4ae3a4151de9 (1) A1
-    reworded(description) as 4f1685185907 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-      (No patch available, successor is unknown locally)
+    rewritten(description, content) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+      (No patch available, predecessor is unknown locally)
   
   471f378eab4c
-    rewritten(description, content) as 4ae3a4151de9 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-      (No patch available, context is not local)
   
-
   $ hg obslog -R $TESTTMP/server --no-graph -f --patch 92210308515b
   92210308515b (2) A3
-  
-  4ae3a4151de9 (1) A1
-    reworded(description) as 92210308515b using amend by test (between Thu Jan 01 00:00:00 1970 +0000 and Thu Jan 01 00:00:01 1970 +0000)
+    reworded(description) from 4ae3a4151de9 using amend by test (between Thu Jan 01 00:00:00 1970 +0000 and Thu Jan 01 00:00:01 1970 +0000)
       diff -r 4ae3a4151de9 -r 92210308515b changeset-description
       --- a/changeset-description
       +++ b/changeset-description
@@ -489,3 +476,5 @@
       +Better better better commit message
   
   
+  4ae3a4151de9 (1) A1
+  
--- a/tests/test-evolve-obshistory-complex.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-obshistory-complex.t	Thu May 07 01:29:48 2020 +0200
@@ -70,14 +70,12 @@
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg obslog -r .
   @    100cc25b765f (9) fold2
-  |\
+  |\     folded(description, parent, content) from 0da815c333f6, d9f908fde1a1 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |      note: folding changesets to test
+  | |
   x |  0da815c333f6 (5) E
-   /     folded(description, content) as 100cc25b765f using fold by test (Thu Jan 01 00:00:00 1970 +0000)
-  |        note: folding changesets to test
-  |
+   /
   x  d9f908fde1a1 (6) F
-       folded(description, parent, content) as 100cc25b765f using fold by test (Thu Jan 01 00:00:00 1970 +0000)
-         note: folding changesets to test
   
   $ hg log -G 
   @  changeset:   9:100cc25b765f
@@ -394,6 +392,29 @@
 
   $ hg obslog 12
   *    7b3290f6e0a0 (12) fold1
+  |\     split(parent, content) from d15d0ffc75f6 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten(description, parent, content) from e036916b63ea using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
+  x |    d15d0ffc75f6 (8) fold1
+  |\ \     folded(description, parent, content) from 868d2e0eb19c, a8df460dbbfe using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | | |
+  | | x  e036916b63ea (11) fold0
+  | | |    split(parent, content) from b868bc49b0a4 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  | | |
+  x | |  868d2e0eb19c (4) D
+   / /
+  x /  a8df460dbbfe (3) C
+   /
+  x    b868bc49b0a4 (7) fold0
+  |\     folded(description, parent, content) from 2a34000d3544, c473644ee0e9 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
+  x |  2a34000d3544 (1) A
+   /
+  x  c473644ee0e9 (2) B
+  
+
+  $ hg obslog 12 --no-origin
+  *    7b3290f6e0a0 (12) fold1
   |\
   x |    d15d0ffc75f6 (8) fold1
   |\ \     split(parent, content) as 7b3290f6e0a0, d0f33db50670 using split by test (Thu Jan 01 00:00:00 1970 +0000)
@@ -420,46 +441,45 @@
 
   $ hg obslog --all 15
   o  19e14c8397fc (10) fold0
+  |    split(parent, content) from b868bc49b0a4 using split by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   | *    7b3290f6e0a0 (12) fold1
-  | |\
+  | |\     split(parent, content) from d15d0ffc75f6 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  | | |    rewritten(description, parent, content) from e036916b63ea using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  | | |
   | | | @  d4a000f63ee9 (15) fold2
+  | | | |    split(parent, content) from 100cc25b765f using split by test (Thu Jan 01 00:00:00 1970 +0000)
   | | | |
   | | | | *  ec31316faa9d (14) fold2
-  | | | |/|
+  | | | |/|    split(parent, content) from 100cc25b765f using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  | | | | |    rewritten(description, parent, content) from d0f33db50670 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  | | | | |      note: this is a note stored in obsmarker in prune
+  | | | | |
   | | | x |    100cc25b765f (9) fold2
-  | | | |\ \     split(parent, content) as d4a000f63ee9, ec31316faa9d using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  | | | |\ \     folded(description, parent, content) from 0da815c333f6, d9f908fde1a1 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | | | | | |      note: folding changesets to test
   | | | | | |
   | +-------x  d0f33db50670 (13) fold1
-  | | | | |      rewritten(description, parent, content) as ec31316faa9d using prune by test (Thu Jan 01 00:00:00 1970 +0000)
-  | | | | |        note: this is a note stored in obsmarker in prune
+  | | | | |      split(parent, content) from d15d0ffc75f6 using split by test (Thu Jan 01 00:00:00 1970 +0000)
   | | | | |
   +---x | |  e036916b63ea (11) fold0
-  | |  / /     rewritten(description, parent, content) as 7b3290f6e0a0 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |  / /     split(parent, content) from b868bc49b0a4 using split by test (Thu Jan 01 00:00:00 1970 +0000)
   | | | |
-  | | x |  0da815c333f6 (5) E
-  | |  /     folded(description, content) as 100cc25b765f using fold by test (Thu Jan 01 00:00:00 1970 +0000)
-  | | |        note: folding changesets to test
-  | | |
+  | | x /  0da815c333f6 (5) E
+  | |  /
   x | |    b868bc49b0a4 (7) fold0
-  |\ \ \     split(parent, content) as 19e14c8397fc, e036916b63ea using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |\ \ \     folded(description, parent, content) from 2a34000d3544, c473644ee0e9 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   | | | |
   | | x |    d15d0ffc75f6 (8) fold1
-  | | |\ \     split(parent, content) as 7b3290f6e0a0, d0f33db50670 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  | | |\ \     folded(description, parent, content) from 868d2e0eb19c, a8df460dbbfe using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   | | | | |
   | | | | x  d9f908fde1a1 (6) F
-  | | | |      folded(description, parent, content) as 100cc25b765f using fold by test (Thu Jan 01 00:00:00 1970 +0000)
-  | | | |        note: folding changesets to test
   | | | |
   x | | |  2a34000d3544 (1) A
-   / / /     folded(description, content) as b868bc49b0a4 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
-  | | |
-  | x |  868d2e0eb19c (4) D
-  |  /     folded(description, parent, content) as d15d0ffc75f6 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
-  | |
+   / / /
+  | x /  868d2e0eb19c (4) D
+  |  /
   | x  a8df460dbbfe (3) C
-  |      folded(description, content) as d15d0ffc75f6 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  c473644ee0e9 (2) B
-       folded(description, parent, content) as b868bc49b0a4 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   
--- a/tests/test-evolve-obshistory-content-divergent.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-obshistory-content-divergent.t	Thu May 07 01:29:48 2020 +0200
@@ -79,7 +79,7 @@
 -----------
 
 Check that obslog on the divergent revision shows both destinations
-  $ hg obslog --hidden 471f378eab4c --patch
+  $ hg obslog --hidden 471f378eab4c --patch --no-origin
   x  471f378eab4c (1) A0
        reworded(description) as 65b757b745b9 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
          diff -r 471f378eab4c -r 65b757b745b9 changeset-description
@@ -102,28 +102,28 @@
 Check that with all option, every changeset is shown
   $ hg obslog --hidden --all 471f378eab4c --patch
   @  65b757b745b9 (3) A2
+  |    reworded(description) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      diff -r 471f378eab4c -r 65b757b745b9 changeset-description
+  |      --- a/changeset-description
+  |      +++ b/changeset-description
+  |      @@ -1,1 +1,1 @@
+  |      -A0
+  |      +A2
+  |
   |
   | *  fdf9bde5129a (2) A1
-  |/
+  |/     reworded(description) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |        diff -r 471f378eab4c -r fdf9bde5129a changeset-description
+  |        --- a/changeset-description
+  |        +++ b/changeset-description
+  |        @@ -1,1 +1,1 @@
+  |        -A0
+  |        +A1
+  |
+  |
   x  471f378eab4c (1) A0
-       reworded(description) as 65b757b745b9 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-         diff -r 471f378eab4c -r 65b757b745b9 changeset-description
-         --- a/changeset-description
-         +++ b/changeset-description
-         @@ -1,1 +1,1 @@
-         -A0
-         +A2
   
-       reworded(description) as fdf9bde5129a using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-         diff -r 471f378eab4c -r fdf9bde5129a changeset-description
-         --- a/changeset-description
-         +++ b/changeset-description
-         @@ -1,1 +1,1 @@
-         -A0
-         +A1
-  
-  
-  $ hg obslog --hidden 471f378eab4c --no-graph -Tjson | python -m json.tool
+  $ hg obslog --hidden 471f378eab4c --no-graph --no-origin -Tjson | python -m json.tool
   [
       {
           "markers": [
@@ -174,9 +174,17 @@
           "shortdescription": "A0"
       }
   ]
+  $ hg obslog --hidden 471f378eab4c --no-graph -Tjson | python -m json.tool
+  [
+      {
+          "markers": [],
+          "node": "471f378eab4c5e25f6c77f785b27c936efb22874",
+          "shortdescription": "A0"
+      }
+  ]
 Check that obslog on the first diverged revision shows the revision and the
 divergent one
-  $ hg obslog fdf9bde5129a --patch
+  $ hg obslog fdf9bde5129a --patch --no-origin
   *  fdf9bde5129a (2) A1
   |
   x  471f378eab4c (1) A0
@@ -201,30 +209,30 @@
 Check that all option shows all of them
   $ hg obslog fdf9bde5129a -a --patch
   @  65b757b745b9 (3) A2
+  |    reworded(description) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      diff -r 471f378eab4c -r 65b757b745b9 changeset-description
+  |      --- a/changeset-description
+  |      +++ b/changeset-description
+  |      @@ -1,1 +1,1 @@
+  |      -A0
+  |      +A2
+  |
   |
   | *  fdf9bde5129a (2) A1
-  |/
+  |/     reworded(description) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |        diff -r 471f378eab4c -r fdf9bde5129a changeset-description
+  |        --- a/changeset-description
+  |        +++ b/changeset-description
+  |        @@ -1,1 +1,1 @@
+  |        -A0
+  |        +A1
+  |
+  |
   x  471f378eab4c (1) A0
-       reworded(description) as 65b757b745b9 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-         diff -r 471f378eab4c -r 65b757b745b9 changeset-description
-         --- a/changeset-description
-         +++ b/changeset-description
-         @@ -1,1 +1,1 @@
-         -A0
-         +A2
-  
-       reworded(description) as fdf9bde5129a using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-         diff -r 471f378eab4c -r fdf9bde5129a changeset-description
-         --- a/changeset-description
-         +++ b/changeset-description
-         @@ -1,1 +1,1 @@
-         -A0
-         +A1
-  
   
 Check that obslog on the second diverged revision shows the revision and the
 divergent one
-  $ hg obslog 65b757b745b9 --patch
+  $ hg obslog 65b757b745b9 --patch --no-origin
   @  65b757b745b9 (3) A2
   |
   x  471f378eab4c (1) A0
@@ -248,52 +256,52 @@
 Check that all option shows all of them
   $ hg obslog 65b757b745b9 -a --patch
   @  65b757b745b9 (3) A2
+  |    reworded(description) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      diff -r 471f378eab4c -r 65b757b745b9 changeset-description
+  |      --- a/changeset-description
+  |      +++ b/changeset-description
+  |      @@ -1,1 +1,1 @@
+  |      -A0
+  |      +A2
+  |
   |
   | *  fdf9bde5129a (2) A1
-  |/
+  |/     reworded(description) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |        diff -r 471f378eab4c -r fdf9bde5129a changeset-description
+  |        --- a/changeset-description
+  |        +++ b/changeset-description
+  |        @@ -1,1 +1,1 @@
+  |        -A0
+  |        +A1
+  |
+  |
   x  471f378eab4c (1) A0
-       reworded(description) as 65b757b745b9 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-         diff -r 471f378eab4c -r 65b757b745b9 changeset-description
-         --- a/changeset-description
-         +++ b/changeset-description
-         @@ -1,1 +1,1 @@
-         -A0
-         +A2
-  
-       reworded(description) as fdf9bde5129a using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-         diff -r 471f378eab4c -r fdf9bde5129a changeset-description
-         --- a/changeset-description
-         +++ b/changeset-description
-         @@ -1,1 +1,1 @@
-         -A0
-         +A1
-  
   
 Check that obslog on the both diverged revision shows a coherent graph
   $ hg obslog '65b757b745b9+fdf9bde5129a' --patch
   @  65b757b745b9 (3) A2
+  |    reworded(description) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      diff -r 471f378eab4c -r 65b757b745b9 changeset-description
+  |      --- a/changeset-description
+  |      +++ b/changeset-description
+  |      @@ -1,1 +1,1 @@
+  |      -A0
+  |      +A2
+  |
   |
   | *  fdf9bde5129a (2) A1
-  |/
+  |/     reworded(description) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |        diff -r 471f378eab4c -r fdf9bde5129a changeset-description
+  |        --- a/changeset-description
+  |        +++ b/changeset-description
+  |        @@ -1,1 +1,1 @@
+  |        -A0
+  |        +A1
+  |
+  |
   x  471f378eab4c (1) A0
-       reworded(description) as 65b757b745b9 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-         diff -r 471f378eab4c -r 65b757b745b9 changeset-description
-         --- a/changeset-description
-         +++ b/changeset-description
-         @@ -1,1 +1,1 @@
-         -A0
-         +A2
   
-       reworded(description) as fdf9bde5129a using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-         diff -r 471f378eab4c -r fdf9bde5129a changeset-description
-         --- a/changeset-description
-         +++ b/changeset-description
-         @@ -1,1 +1,1 @@
-         -A0
-         +A1
-  
-  
-  $ hg obslog '65b757b745b9+fdf9bde5129a' --no-graph -Tjson | python -m json.tool
+  $ hg obslog '65b757b745b9+fdf9bde5129a' --no-graph --no-origin -Tjson | python -m json.tool
   [
       {
           "markers": [],
@@ -354,6 +362,68 @@
           "shortdescription": "A1"
       }
   ]
+  $ hg obslog '65b757b745b9+fdf9bde5129a' --no-graph -Tjson | python -m json.tool
+  [
+      {
+          "markers": [
+              {
+                  "dates": [
+                      [
+                          0.0,
+                          0
+                      ]
+                  ],
+                  "effects": [
+                      "description"
+                  ],
+                  "operations": [
+                      "amend"
+                  ],
+                  "prednodes": [
+                      "471f378eab4c5e25f6c77f785b27c936efb22874"
+                  ],
+                  "users": [
+                      "test"
+                  ],
+                  "verb": "reworded"
+              }
+          ],
+          "node": "65b757b745b935093c87a2bccd877521cccffcbd",
+          "shortdescription": "A2"
+      },
+      {
+          "markers": [],
+          "node": "471f378eab4c5e25f6c77f785b27c936efb22874",
+          "shortdescription": "A0"
+      },
+      {
+          "markers": [
+              {
+                  "dates": [
+                      [
+                          *, (glob)
+                          0
+                      ]
+                  ],
+                  "effects": [
+                      "description"
+                  ],
+                  "operations": [
+                      "amend"
+                  ],
+                  "prednodes": [
+                      "471f378eab4c5e25f6c77f785b27c936efb22874"
+                  ],
+                  "users": [
+                      "test"
+                  ],
+                  "verb": "reworded"
+              }
+          ],
+          "node": "fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e",
+          "shortdescription": "A1"
+      }
+  ]
   $ hg update 471f378eab4c
   abort: hidden revision '471f378eab4c' has diverged!
   (use --hidden to access hidden revisions)
--- a/tests/test-evolve-obshistory-fold.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-obshistory-fold.t	Thu May 07 01:29:48 2020 +0200
@@ -70,7 +70,7 @@
 
 Check that obslog on the first folded revision shows only the revision with the
 target
-  $ hg obslog --hidden 471f378eab4c --patch
+  $ hg obslog --hidden 471f378eab4c --patch --no-origin
   x  471f378eab4c (1) A0
        folded(description, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
          diff -r 471f378eab4c -r eb5a0daa2192 changeset-description
@@ -88,7 +88,7 @@
   
   
 Check that with all option, all changesets are shown
-  $ hg obslog --hidden --all 471f378eab4c --patch
+  $ hg obslog --hidden --all 471f378eab4c --patch --no-origin
   @    eb5a0daa2192 (3) C0
   |\
   x |  0dec01379d3b (2) B0
@@ -113,13 +113,13 @@
   
 Check that obslog on the second folded revision shows only the revision with
 the target
-  $ hg obslog --hidden 0dec01379d3b --patch
+  $ hg obslog --hidden 0dec01379d3b --patch --no-origin
   x  0dec01379d3b (2) B0
        folded(description, parent, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
          (No patch available, changesets rebased)
   
 Check that with all option, all changesets are shown
-  $ hg obslog --hidden --all 0dec01379d3b --patch
+  $ hg obslog --hidden --all 0dec01379d3b --patch --no-origin
   @    eb5a0daa2192 (3) C0
   |\
   x |  0dec01379d3b (2) B0
@@ -143,7 +143,7 @@
   
   
 Check that obslog on the successor revision shows a coherent graph
-  $ hg obslog eb5a0daa2192 --patch
+  $ hg obslog eb5a0daa2192 --patch --no-origin
   @    eb5a0daa2192 (3) C0
   |\
   x |  0dec01379d3b (2) B0
@@ -166,7 +166,7 @@
          +B0
   
   
-  $ hg obslog eb5a0daa2192 --no-graph -Tjson | python -m json.tool
+  $ hg obslog eb5a0daa2192 --no-graph --no-origin -Tjson | python -m json.tool
   [
       {
           "markers": [],
@@ -231,6 +231,63 @@
           "shortdescription": "B0"
       }
   ]
+
+  $ hg obslog eb5a0daa2192 --patch
+  @    eb5a0daa2192 (3) C0
+  |\     folded(description, parent, content) from 0dec01379d3b, 471f378eab4c using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |      (No patch available, too many predecessors (2))
+  | |
+  x |  0dec01379d3b (2) B0
+   /
+  x  471f378eab4c (1) A0
+  
+  $ hg obslog eb5a0daa2192 --no-graph -Tjson | python -m json.tool
+  [
+      {
+          "markers": [
+              {
+                  "dates": [
+                      [
+                          *, (glob)
+                          0
+                      ],
+                      [
+                          *, (glob)
+                          0
+                      ]
+                  ],
+                  "effects": [
+                      "description",
+                      "parent",
+                      "content"
+                  ],
+                  "operations": [
+                      "fold"
+                  ],
+                  "prednodes": [
+                      "0dec01379d3be6318c470ead31b1fe7ae7cb53d5",
+                      "471f378eab4c5e25f6c77f785b27c936efb22874"
+                  ],
+                  "users": [
+                      "test"
+                  ],
+                  "verb": "folded"
+              }
+          ],
+          "node": "eb5a0daa21923bbf8caeb2c42085b9e463861fd0",
+          "shortdescription": "C0"
+      },
+      {
+          "markers": [],
+          "node": "471f378eab4c5e25f6c77f785b27c936efb22874",
+          "shortdescription": "A0"
+      },
+      {
+          "markers": [],
+          "node": "0dec01379d3be6318c470ead31b1fe7ae7cb53d5",
+          "shortdescription": "B0"
+      }
+  ]
   $ hg update 471f378eab4c
   abort: hidden revision '471f378eab4c' was rewritten as: eb5a0daa2192!
   (use --hidden to access hidden revisions)
@@ -255,7 +312,7 @@
 Check output of the server
 --------------------------
 
-  $ hg obslog -R $TESTTMP/server --patch tip --all
+  $ hg obslog -R $TESTTMP/server --all --patch tip --no-origin
   o    eb5a0daa2192 (2) C0
   |\
   x |  0dec01379d3b
@@ -278,7 +335,7 @@
          +B0
   
   
-  $ hg obslog -R $TESTTMP/server -f --all --patch tip
+  $ hg obslog -R $TESTTMP/server -f --all --patch tip --no-origin
   o  eb5a0daa2192 (2) C0
   |
   x  471f378eab4c (1) A0
@@ -298,7 +355,7 @@
   
   
 
-  $ hg obslog -R $TESTTMP/server --all --patch 471f378eab4c --hidden
+  $ hg obslog -R $TESTTMP/server --all --patch 471f378eab4c --no-origin --hidden
   o    eb5a0daa2192 (2) C0
   |\
   x |  0dec01379d3b
@@ -321,7 +378,7 @@
          +B0
   
   
-  $ hg obslog -R $TESTTMP/server -f --all --patch 471f378eab4c --hidden
+  $ hg obslog -R $TESTTMP/server -f --all --patch 471f378eab4c --no-origin --hidden
   o  eb5a0daa2192 (2) C0
   |
   x  471f378eab4c (1) A0
--- a/tests/test-evolve-obshistory-lots-of-splits.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-obshistory-lots-of-splits.t	Thu May 07 01:29:48 2020 +0200
@@ -173,12 +173,12 @@
 Actual test
 -----------
 
-  $ hg obslog de7290d8b885 --hidden --patch
+  $ hg obslog de7290d8b885 --hidden --patch --no-origin
   x  de7290d8b885 (1) A0
        split(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
          (No patch available, too many successors (4))
   
-  $ hg obslog de7290d8b885 --hidden --all --patch
+  $ hg obslog de7290d8b885 --hidden --all --patch --no-origin
   o  1ae8bc733a14 (4) A0
   |
   | o  337fec4d2edc (2) A0
@@ -191,7 +191,41 @@
        split(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
          (No patch available, too many successors (4))
   
-  $ hg obslog de7290d8b885 --hidden --no-graph -Tjson | python -m json.tool
+  $ hg obslog de7290d8b885 --hidden --all --patch
+  o  1ae8bc733a14 (4) A0
+  |    split(parent, content) from de7290d8b885 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      (No patch available, changesets rebased)
+  |
+  | o  337fec4d2edc (2) A0
+  |/     split(parent, content) from de7290d8b885 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |        diff -r de7290d8b885 -r 337fec4d2edc b
+  |        --- a/b	Thu Jan 01 00:00:00 1970 +0000
+  |        +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
+  |        @@ -1,1 +0,0 @@
+  |        -43
+  |        diff -r de7290d8b885 -r 337fec4d2edc c
+  |        --- a/c	Thu Jan 01 00:00:00 1970 +0000
+  |        +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
+  |        @@ -1,1 +0,0 @@
+  |        -44
+  |        diff -r de7290d8b885 -r 337fec4d2edc d
+  |        --- a/d	Thu Jan 01 00:00:00 1970 +0000
+  |        +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
+  |        @@ -1,1 +0,0 @@
+  |        -45
+  |
+  |
+  | @  c7f044602e9b (5) A0
+  |/     split(parent, content) from de7290d8b885 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |        (No patch available, changesets rebased)
+  |
+  | o  f257fde29c7a (3) A0
+  |/     split(parent, content) from de7290d8b885 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |        (No patch available, changesets rebased)
+  |
+  x  de7290d8b885 (1) A0
+  
+  $ hg obslog de7290d8b885 --hidden --no-graph --no-origin -Tjson | python -m json.tool
   [
       {
           "markers": [
@@ -225,14 +259,21 @@
           "shortdescription": "A0"
       }
   ]
-  $ hg obslog c7f044602e9b --patch
+  $ hg obslog c7f044602e9b --patch --no-origin
   @  c7f044602e9b (5) A0
   |
   x  de7290d8b885 (1) A0
        split(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
          (No patch available, too many successors (4))
   
-  $ hg obslog c7f044602e9b --no-graph -Tjson | python -m json.tool
+  $ hg obslog c7f044602e9b --patch
+  @  c7f044602e9b (5) A0
+  |    split(parent, content) from de7290d8b885 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      (No patch available, changesets rebased)
+  |
+  x  de7290d8b885 (1) A0
+  
+  $ hg obslog c7f044602e9b --no-graph --no-origin -Tjson | python -m json.tool
   [
       {
           "markers": [],
@@ -271,9 +312,92 @@
           "shortdescription": "A0"
       }
   ]
+  $ hg obslog c7f044602e9b --no-graph -Tjson | python -m json.tool
+  [
+      {
+          "markers": [
+              {
+                  "dates": [
+                      [
+                          *, (glob)
+                          0
+                      ]
+                  ],
+                  "effects": [
+                      "parent",
+                      "content"
+                  ],
+                  "operations": [
+                      "split"
+                  ],
+                  "prednodes": [
+                      "de7290d8b885925115bb9e88887252dfc20ef2a8"
+                  ],
+                  "users": [
+                      "test"
+                  ],
+                  "verb": "split"
+              }
+          ],
+          "node": "c7f044602e9bd5dec6528b33114df3d0221e6359",
+          "shortdescription": "A0"
+      },
+      {
+          "markers": [],
+          "node": "de7290d8b885925115bb9e88887252dfc20ef2a8",
+          "shortdescription": "A0"
+      }
+  ]
 Check that obslog on all heads shows a coherent graph
+  $ hg obslog 2::5 --patch --no-origin
+  o  1ae8bc733a14 (4) A0
+  |
+  | o  337fec4d2edc (2) A0
+  |/
+  | @  c7f044602e9b (5) A0
+  |/
+  | o  f257fde29c7a (3) A0
+  |/
+  x  de7290d8b885 (1) A0
+       split(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
+         (No patch available, too many successors (4))
+  
   $ hg obslog 2::5 --patch
   o  1ae8bc733a14 (4) A0
+  |    split(parent, content) from de7290d8b885 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      (No patch available, changesets rebased)
+  |
+  | o  337fec4d2edc (2) A0
+  |/     split(parent, content) from de7290d8b885 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |        diff -r de7290d8b885 -r 337fec4d2edc b
+  |        --- a/b	Thu Jan 01 00:00:00 1970 +0000
+  |        +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
+  |        @@ -1,1 +0,0 @@
+  |        -43
+  |        diff -r de7290d8b885 -r 337fec4d2edc c
+  |        --- a/c	Thu Jan 01 00:00:00 1970 +0000
+  |        +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
+  |        @@ -1,1 +0,0 @@
+  |        -44
+  |        diff -r de7290d8b885 -r 337fec4d2edc d
+  |        --- a/d	Thu Jan 01 00:00:00 1970 +0000
+  |        +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
+  |        @@ -1,1 +0,0 @@
+  |        -45
+  |
+  |
+  | @  c7f044602e9b (5) A0
+  |/     split(parent, content) from de7290d8b885 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |        (No patch available, changesets rebased)
+  |
+  | o  f257fde29c7a (3) A0
+  |/     split(parent, content) from de7290d8b885 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |        (No patch available, changesets rebased)
+  |
+  x  de7290d8b885 (1) A0
+  
+  $ hg obslog 5 --all --patch --no-origin
+  o  1ae8bc733a14 (4) A0
   |
   | o  337fec4d2edc (2) A0
   |/
@@ -287,16 +411,37 @@
   
   $ hg obslog 5 --all --patch
   o  1ae8bc733a14 (4) A0
+  |    split(parent, content) from de7290d8b885 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      (No patch available, changesets rebased)
   |
   | o  337fec4d2edc (2) A0
-  |/
+  |/     split(parent, content) from de7290d8b885 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |        diff -r de7290d8b885 -r 337fec4d2edc b
+  |        --- a/b	Thu Jan 01 00:00:00 1970 +0000
+  |        +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
+  |        @@ -1,1 +0,0 @@
+  |        -43
+  |        diff -r de7290d8b885 -r 337fec4d2edc c
+  |        --- a/c	Thu Jan 01 00:00:00 1970 +0000
+  |        +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
+  |        @@ -1,1 +0,0 @@
+  |        -44
+  |        diff -r de7290d8b885 -r 337fec4d2edc d
+  |        --- a/d	Thu Jan 01 00:00:00 1970 +0000
+  |        +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
+  |        @@ -1,1 +0,0 @@
+  |        -45
+  |
+  |
   | @  c7f044602e9b (5) A0
-  |/
+  |/     split(parent, content) from de7290d8b885 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |        (No patch available, changesets rebased)
+  |
   | o  f257fde29c7a (3) A0
-  |/
+  |/     split(parent, content) from de7290d8b885 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |        (No patch available, changesets rebased)
+  |
   x  de7290d8b885 (1) A0
-       split(parent, content) as 1ae8bc733a14, 337fec4d2edc, c7f044602e9b, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
-         (No patch available, too many successors (4))
   
   $ hg update de7290d8b885
   abort: hidden revision 'de7290d8b885' was split as: 337fec4d2edc, f257fde29c7a and 2 more!
--- a/tests/test-evolve-obshistory-phase-divergent.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-obshistory-phase-divergent.t	Thu May 07 01:29:48 2020 +0200
@@ -66,7 +66,7 @@
 -----------
 
 Check that obslog on the public revision shows both public (diverged) and draft (divergent) revisions
-  $ hg obslog --hidden 471f378eab4c --patch
+  $ hg obslog --hidden 471f378eab4c --patch --no-origin
   @  471f378eab4c (1) A0
        reworded(description) as fdf9bde5129a using amend by test (Thu Jan 01 00:00:00 1970 +0000)
          diff -r 471f378eab4c -r fdf9bde5129a changeset-description
@@ -79,7 +79,7 @@
   
 
 Check that with all option, every changeset is shown
-  $ hg obslog --hidden --all 471f378eab4c --patch
+  $ hg obslog --hidden --all 471f378eab4c --patch --no-origin
   *  fdf9bde5129a (2) A1
   |
   @  471f378eab4c (1) A0
@@ -92,7 +92,20 @@
          +A1
   
   
-  $ hg obslog --hidden 471f378eab4c --no-graph -Tjson | python -m json.tool
+  $ hg obslog --hidden --all 471f378eab4c --patch
+  *  fdf9bde5129a (2) A1
+  |    reworded(description) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      diff -r 471f378eab4c -r fdf9bde5129a changeset-description
+  |      --- a/changeset-description
+  |      +++ b/changeset-description
+  |      @@ -1,1 +1,1 @@
+  |      -A0
+  |      +A1
+  |
+  |
+  @  471f378eab4c (1) A0
+  
+  $ hg obslog --hidden 471f378eab4c --no-graph --no-origin -Tjson | python -m json.tool
   [
       {
           "markers": [
@@ -122,50 +135,58 @@
           "shortdescription": "A0"
       }
   ]
+  $ hg obslog --hidden 471f378eab4c --no-graph -Tjson | python -m json.tool
+  [
+      {
+          "markers": [],
+          "node": "471f378eab4c5e25f6c77f785b27c936efb22874",
+          "shortdescription": "A0"
+      }
+  ]
 Check that obslog on the draft (divergent) revision also shows public (diverged) revision
   $ hg obslog fdf9bde5129a --patch
   *  fdf9bde5129a (2) A1
+  |    reworded(description) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      diff -r 471f378eab4c -r fdf9bde5129a changeset-description
+  |      --- a/changeset-description
+  |      +++ b/changeset-description
+  |      @@ -1,1 +1,1 @@
+  |      -A0
+  |      +A1
+  |
   |
   @  471f378eab4c (1) A0
-       reworded(description) as fdf9bde5129a using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-         diff -r 471f378eab4c -r fdf9bde5129a changeset-description
-         --- a/changeset-description
-         +++ b/changeset-description
-         @@ -1,1 +1,1 @@
-         -A0
-         +A1
-  
   
 
 Check that all option shows all of them
   $ hg obslog fdf9bde5129a -a --patch
   *  fdf9bde5129a (2) A1
+  |    reworded(description) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      diff -r 471f378eab4c -r fdf9bde5129a changeset-description
+  |      --- a/changeset-description
+  |      +++ b/changeset-description
+  |      @@ -1,1 +1,1 @@
+  |      -A0
+  |      +A1
+  |
   |
   @  471f378eab4c (1) A0
-       reworded(description) as fdf9bde5129a using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-         diff -r 471f378eab4c -r fdf9bde5129a changeset-description
-         --- a/changeset-description
-         +++ b/changeset-description
-         @@ -1,1 +1,1 @@
-         -A0
-         +A1
-  
   
 Check that obslog on the both draft (divergent) and public (diverged) revisions shows a coherent graph
   $ hg obslog 'fdf9bde5129a+471f378eab4c' --patch
   *  fdf9bde5129a (2) A1
+  |    reworded(description) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      diff -r 471f378eab4c -r fdf9bde5129a changeset-description
+  |      --- a/changeset-description
+  |      +++ b/changeset-description
+  |      @@ -1,1 +1,1 @@
+  |      -A0
+  |      +A1
+  |
   |
   @  471f378eab4c (1) A0
-       reworded(description) as fdf9bde5129a using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-         diff -r 471f378eab4c -r fdf9bde5129a changeset-description
-         --- a/changeset-description
-         +++ b/changeset-description
-         @@ -1,1 +1,1 @@
-         -A0
-         +A1
   
-  
-  $ hg obslog 'fdf9bde5129a+471f378eab4c' --no-graph -Tjson | python -m json.tool
+  $ hg obslog 'fdf9bde5129a+471f378eab4c' --no-graph --no-origin -Tjson | python -m json.tool
   [
       {
           "markers": [],
@@ -200,6 +221,41 @@
           "shortdescription": "A0"
       }
   ]
+  $ hg obslog 'fdf9bde5129a+471f378eab4c' --no-graph -Tjson | python -m json.tool
+  [
+      {
+          "markers": [
+              {
+                  "dates": [
+                      [
+                          0.0,
+                          0
+                      ]
+                  ],
+                  "effects": [
+                      "description"
+                  ],
+                  "operations": [
+                      "amend"
+                  ],
+                  "prednodes": [
+                      "471f378eab4c5e25f6c77f785b27c936efb22874"
+                  ],
+                  "users": [
+                      "test"
+                  ],
+                  "verb": "reworded"
+              }
+          ],
+          "node": "fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e",
+          "shortdescription": "A1"
+      },
+      {
+          "markers": [],
+          "node": "471f378eab4c5e25f6c77f785b27c936efb22874",
+          "shortdescription": "A0"
+      }
+  ]
   $ hg update 471f378eab4c
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg update --hidden 'desc(A0)'
--- a/tests/test-evolve-obshistory-prune.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-obshistory-prune.t	Thu May 07 01:29:48 2020 +0200
@@ -65,7 +65,7 @@
   $ hg obslog 'desc(B0)' --hidden --patch
   x  0dec01379d3b (2) B0
        pruned using prune by test (Thu Jan 01 00:00:00 1970 +0000)
-         (No patch available, no successors)
+         (No patch available, no predecessors)
   
   $ hg obslog 'desc(B0)' --hidden --no-graph -Tjson | python -m json.tool
   [
@@ -121,6 +121,6 @@
   $ hg obslog -f -R $TESTTMP/server --patch 0dec01379d3b --hidden
   x  0dec01379d3b (2) B0
        pruned using prune by test (Thu Jan 01 00:00:00 1970 +0000)
-         (No patch available, no successors)
+         (No patch available, no predecessors)
   
 # TODO ADD amend + prune
--- a/tests/test-evolve-obshistory-split.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-obshistory-split.t	Thu May 07 01:29:48 2020 +0200
@@ -103,13 +103,13 @@
 -------------------------------
 
 Check that obslog on split commit shows both targets
-  $ hg obslog 471597cad322 --hidden --patch
+  $ hg obslog 471597cad322 --hidden --patch --no-origin
   x  471597cad322 (1) A0
        split(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
          note: testing split
          (No patch available, too many successors (2))
   
-  $ hg obslog 471597cad322 --hidden --no-graph -Tjson | python -m json.tool
+  $ hg obslog 471597cad322 --hidden --no-graph --no-origin -Tjson | python -m json.tool
   [
       {
           "markers": [
@@ -144,50 +144,79 @@
           "shortdescription": "A0"
       }
   ]
+  $ hg obslog 471597cad322 --hidden --no-graph -Tjson | python -m json.tool
+  [
+      {
+          "markers": [],
+          "node": "471597cad322d1f659bb169751be9133dad92ef3",
+          "shortdescription": "A0"
+      }
+  ]
 Check that obslog on the first successor after split shows the revision plus
 the split one
   $ hg obslog 337fec4d2edc --patch
   o  337fec4d2edc (2) A0
+  |    split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      note: testing split
+  |      diff -r 471597cad322 -r 337fec4d2edc b
+  |      --- a/b	Thu Jan 01 00:00:00 1970 +0000
+  |      +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
+  |      @@ -1,1 +0,0 @@
+  |      -43
+  |
   |
   x  471597cad322 (1) A0
-       split(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
-         note: testing split
-         (No patch available, too many successors (2))
   
 With the all option, it should show all three changesets
   $ hg obslog --all 337fec4d2edc --patch
   o  337fec4d2edc (2) A0
+  |    split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      note: testing split
+  |      diff -r 471597cad322 -r 337fec4d2edc b
+  |      --- a/b	Thu Jan 01 00:00:00 1970 +0000
+  |      +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
+  |      @@ -1,1 +0,0 @@
+  |      -43
+  |
   |
   | @  f257fde29c7a (3) A0
-  |/
+  |/     split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |        note: testing split
+  |        (No patch available, changesets rebased)
+  |
   x  471597cad322 (1) A0
-       split(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
-         note: testing split
-         (No patch available, too many successors (2))
   
 Check that obslog on the second successor after split shows the revision plus
 the split one
   $ hg obslog f257fde29c7a --patch
   @  f257fde29c7a (3) A0
+  |    split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      note: testing split
+  |      (No patch available, changesets rebased)
   |
   x  471597cad322 (1) A0
-       split(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
-         note: testing split
-         (No patch available, too many successors (2))
   
 With the all option, it should show all three changesets
   $ hg obslog f257fde29c7a --all --patch
   o  337fec4d2edc (2) A0
+  |    split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      note: testing split
+  |      diff -r 471597cad322 -r 337fec4d2edc b
+  |      --- a/b	Thu Jan 01 00:00:00 1970 +0000
+  |      +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
+  |      @@ -1,1 +0,0 @@
+  |      -43
+  |
   |
   | @  f257fde29c7a (3) A0
-  |/
+  |/     split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |        note: testing split
+  |        (No patch available, changesets rebased)
+  |
   x  471597cad322 (1) A0
-       split(parent, content) as 337fec4d2edc, f257fde29c7a using split by test (Thu Jan 01 00:00:00 1970 +0000)
-         note: testing split
-         (No patch available, too many successors (2))
   
-Obslog with all option all should also works on the split commit
-  $ hg obslog -a 471597cad322 --hidden --patch
+Obslog with all option should also works on the split commit
+  $ hg obslog -a 471597cad322 --hidden --patch --no-origin
   o  337fec4d2edc (2) A0
   |
   | @  f257fde29c7a (3) A0
@@ -198,7 +227,7 @@
          (No patch available, too many successors (2))
   
 Check that obslog on both successors after split shows a coherent graph
-  $ hg obslog 'f257fde29c7a+337fec4d2edc' --patch
+  $ hg obslog 'f257fde29c7a+337fec4d2edc' --patch --no-origin
   o  337fec4d2edc (2) A0
   |
   | @  f257fde29c7a (3) A0
@@ -208,6 +237,24 @@
          note: testing split
          (No patch available, too many successors (2))
   
+  $ hg obslog 'f257fde29c7a+337fec4d2edc' --patch
+  o  337fec4d2edc (2) A0
+  |    split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      note: testing split
+  |      diff -r 471597cad322 -r 337fec4d2edc b
+  |      --- a/b	Thu Jan 01 00:00:00 1970 +0000
+  |      +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
+  |      @@ -1,1 +0,0 @@
+  |      -43
+  |
+  |
+  | @  f257fde29c7a (3) A0
+  |/     split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |        note: testing split
+  |        (No patch available, changesets rebased)
+  |
+  x  471597cad322 (1) A0
+  
   $ hg update 471597cad322
   abort: hidden revision '471597cad322' was split as: 337fec4d2edc, f257fde29c7a!
   (use --hidden to access hidden revisions)
@@ -222,7 +269,7 @@
 Check output on the server side
 -------------------------------
 
-  $ hg obslog -R $TESTTMP/server --patch tip
+  $ hg obslog -R $TESTTMP/server --patch tip --no-origin
   o  f257fde29c7a (2) A0
   |
   x  471597cad322
@@ -230,10 +277,10 @@
          note: testing split
          (No patch available, context is not local)
   
-  $ hg obslog -R $TESTTMP/server -f --patch tip
+  $ hg obslog -R $TESTTMP/server -f --patch tip --no-origin
   o  f257fde29c7a (2) A0
   
-  $ hg obslog -R $TESTTMP/server --all --patch tip
+  $ hg obslog -R $TESTTMP/server --all --patch tip --no-origin
   o  337fec4d2edc (1) A0
   |
   | o  f257fde29c7a (2) A0
@@ -243,12 +290,12 @@
          note: testing split
          (No patch available, context is not local)
   
-  $ hg obslog -R $TESTTMP/server --all -f --patch tip
+  $ hg obslog -R $TESTTMP/server --all -f --patch tip --no-origin
   o  337fec4d2edc (1) A0
   
   o  f257fde29c7a (2) A0
   
-  $ hg obslog -R $TESTTMP/server --no-graph --all --patch tip
+  $ hg obslog -R $TESTTMP/server --no-graph --all --patch tip --no-origin
   f257fde29c7a (2) A0
   
   471597cad322
@@ -258,6 +305,54 @@
   
   337fec4d2edc (1) A0
   
+  $ hg obslog -R $TESTTMP/server --no-graph -f --all --patch tip --no-origin
+  f257fde29c7a (2) A0
+  
+  337fec4d2edc (1) A0
+  
+
+  $ hg obslog -R $TESTTMP/server --patch tip
+  o  f257fde29c7a (2) A0
+  |    split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      note: testing split
+  |      (No patch available, predecessor is unknown locally)
+  |
+  x  471597cad322
+  
+  $ hg obslog -R $TESTTMP/server -f --patch tip
+  o  f257fde29c7a (2) A0
+  
+  $ hg obslog -R $TESTTMP/server --all --patch tip
+  o  337fec4d2edc (1) A0
+  |    split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      note: testing split
+  |      (No patch available, predecessor is unknown locally)
+  |
+  | o  f257fde29c7a (2) A0
+  |/     split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |        note: testing split
+  |        (No patch available, predecessor is unknown locally)
+  |
+  x  471597cad322
+  
+  $ hg obslog -R $TESTTMP/server --all -f --patch tip
+  o  337fec4d2edc (1) A0
+  
+  o  f257fde29c7a (2) A0
+  
+  $ hg obslog -R $TESTTMP/server --no-graph --all --patch tip
+  f257fde29c7a (2) A0
+    split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+      note: testing split
+      (No patch available, predecessor is unknown locally)
+  
+  471597cad322
+  
+  337fec4d2edc (1) A0
+    split(parent, content) from 471597cad322 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+      note: testing split
+      (No patch available, predecessor is unknown locally)
+  
   $ hg obslog -R $TESTTMP/server --no-graph -f --all --patch tip
   f257fde29c7a (2) A0
   
--- a/tests/test-evolve-obshistory.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-obshistory.t	Thu May 07 01:29:48 2020 +0200
@@ -93,7 +93,7 @@
 Actual test
 -----------
 
-  $ hg obslog 7a230b46bf61 --patch
+  $ hg obslog 7a230b46bf61 --patch --no-origin
   @  7a230b46bf61 (3) A2
   |
   x  fdf9bde5129a (2) A1
@@ -116,6 +116,31 @@
          +A1
   
   
+
+  $ hg obslog 7a230b46bf61 --patch
+  @  7a230b46bf61 (3) A2
+  |    reworded(description) from fdf9bde5129a using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      diff -r fdf9bde5129a -r 7a230b46bf61 changeset-description
+  |      --- a/changeset-description
+  |      +++ b/changeset-description
+  |      @@ -1,1 +1,1 @@
+  |      -A1
+  |      +A2
+  |
+  |
+  x  fdf9bde5129a (2) A1
+  |    reworded(description) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      diff -r 471f378eab4c -r fdf9bde5129a changeset-description
+  |      --- a/changeset-description
+  |      +++ b/changeset-description
+  |      @@ -1,1 +1,1 @@
+  |      -A0
+  |      +A1
+  |
+  |
+  x  471f378eab4c (1) A0
+  
+
   $ cd $TESTTMP/local-remote-markers-2
   $ hg pull
   pulling from $TESTTMP/local-remote-markers-1
@@ -131,7 +156,7 @@
   working directory parent is obsolete! (471f378eab4c)
   (use 'hg evolve' to update to its successor: 7a230b46bf61)
 Check that obslog works with markers pointing to missing local changectx
-  $ hg obslog 7a230b46bf61 --patch
+  $ hg obslog 7a230b46bf61 --patch --no-origin
   o  7a230b46bf61 (2) A2
   |
   x  fdf9bde5129a
@@ -143,7 +168,19 @@
          (No patch available, successor is unknown locally)
   
 
-  $ hg obslog 7a230b46bf61 --patch -f
+  $ hg obslog 7a230b46bf61 --patch
+  o  7a230b46bf61 (2) A2
+  |    reworded(description) from fdf9bde5129a using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      (No patch available, predecessor is unknown locally)
+  |
+  x  fdf9bde5129a
+  |    reworded(description) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      (No patch available, context is not local)
+  |
+  @  471f378eab4c (1) A0
+  
+
+  $ hg obslog 7a230b46bf61 --patch -f --no-origin
   o  7a230b46bf61 (2) A2
   |
   @  471f378eab4c (1) A0
@@ -156,19 +193,33 @@
          +A2
   
   
+  $ hg obslog 7a230b46bf61 --patch -f
+  o  7a230b46bf61 (2) A2
+  |    reworded(description) from 471f378eab4c using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      diff -r 471f378eab4c -r 7a230b46bf61 changeset-description
+  |      --- a/changeset-description
+  |      +++ b/changeset-description
+  |      @@ -1,1 +1,1 @@
+  |      -A0
+  |      +A2
+  |
+  |
+  @  471f378eab4c (1) A0
+  
+
   $ hg obslog 7a230b46bf61 --color=debug --patch
   o  [evolve.node|7a230b46bf61] [evolve.rev|(2)] [evolve.short_description|A2]
+  |    [evolve.verb|reworded](description) from [evolve.node|fdf9bde5129a] using [evolve.operation|amend] by [evolve.user|test] [evolve.date|(Thu Jan 01 00:00:00 1970 +0000)]
+  |      (No patch available, predecessor is unknown locally)
   |
   x  [evolve.node evolve.missing_change_ctx|fdf9bde5129a]
-  |    [evolve.verb|reworded](description) as [evolve.node|7a230b46bf61] using [evolve.operation|amend] by [evolve.user|test] [evolve.date|(Thu Jan 01 00:00:00 1970 +0000)]
+  |    [evolve.verb|reworded](description) from [evolve.node|471f378eab4c] using [evolve.operation|amend] by [evolve.user|test] [evolve.date|(Thu Jan 01 00:00:00 1970 +0000)]
   |      (No patch available, context is not local)
   |
   @  [evolve.node|471f378eab4c] [evolve.rev|(1)] [evolve.short_description|A0]
-       [evolve.verb|reworded](description) as [evolve.node|fdf9bde5129a] using [evolve.operation|amend] by [evolve.user|test] [evolve.date|(Thu Jan 01 00:00:00 1970 +0000)]
-         (No patch available, successor is unknown locally)
   
 
-  $ hg obslog 7a230b46bf61 --graph \
+  $ hg obslog 7a230b46bf61 --graph --no-origin \
   > -T '{node|short} {rev} {desc|firstline}\n{markers % "rewritten using {operations}"}\n'
   o  7a230b46bf61 2 A2
   |
@@ -177,6 +228,15 @@
   @  471f378eab4c 1 A0
      rewritten using amend
 
+  $ hg obslog 7a230b46bf61 --graph \
+  > -T '{node|short} {rev} {desc|firstline}\n{markers % "rewritten using {operations}"}\n'
+  o  7a230b46bf61 2 A2
+  |  rewritten using amend
+  x  fdf9bde5129a
+  |  rewritten using amend
+  @  471f378eab4c 1 A0
+  
+
 Test output with non-local changesets and various templates
 ===========================================================
 
@@ -200,7 +260,7 @@
 
   $ hg strip 'desc(A1) + desc(A2)' --hidden --quiet --config extensions.strip=
 
-  $ hg obslog -f
+  $ hg obslog -f --no-origin
   @  41985e02b792 (1) A3
   |
   x  6ffd04c870fe (0) A0
@@ -209,14 +269,35 @@
          note: note2
          note: note3
   
-  $ hg obslog -f -T fancy
+  $ hg obslog -f
+  @  41985e02b792 (1) A3
+  |    rewritten(description, date) from 6ffd04c870fe using amend, metaedit by alice, bob, test (between Thu Jan 01 00:00:00 1970 +0000 and Thu Jan 01 00:00:01 1970 +0000)
+  |      note: note1
+  |      note: note2
+  |      note: note3
+  |
+  x  6ffd04c870fe (0) A0
+  
+  $ hg obslog -f -T fancy --no-origin
   @  A3
   |
   x  A0
      rewritten using amend, metaedit by alice, bob, test (note1; note2; note3)
 
-  $ hg obslog -f -T fancier
+  $ hg obslog -f -T fancy
+  @  A3
+  |  rewritten using amend, metaedit by alice, bob, test (note1; note2; note3)
+  x  A0
+  
+
+  $ hg obslog -f -T fancier --no-origin
   @  A3
   |
   x  A0
      alice, bob, test had rewritten this commit using amend/metaedit and said: "note1", "note2", "note3")
+
+  $ hg obslog -f -T fancier
+  @  A3
+  |  alice, bob, test had rewritten this commit using amend/metaedit and said: "note1", "note2", "note3")
+  x  A0
+  
--- a/tests/test-evolve-phase-divergence.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-phase-divergence.t	Thu May 07 01:29:48 2020 +0200
@@ -160,9 +160,9 @@
 XXX: There must be mention of phase-divergence here
   $ hg obslog -r . --all
   @  98bb3a6cfe1a (2) tweak a
+  |    reworded(description) from 4d1169d82e47 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   o  4d1169d82e47 (1) modify a
-       reworded(description) as 98bb3a6cfe1a using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   
 Solving the phase divergence using evolve command
 --------------------------------------------------
@@ -359,12 +359,12 @@
   d47f2b37ed8216234c503b3a2657989958754a59 3d62500c673dd1c88bb09a73e86d0210aed6fcb6 1 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'evolve', 'user': 'test'}
   $ hg obslog -r . --all
   @  3d62500c673d (5) phase-divergent update to aa071e5554e3:
+  |    rewritten(description, parent, content) from d47f2b37ed82 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   %  d47f2b37ed82 (4) added bar to foo
-  |    rewritten(description, parent, content) as 3d62500c673d using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, content) from aa071e5554e3 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   %  aa071e5554e3 (3) added foo to foo
-       rewritten(description, content) as d47f2b37ed82 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   
 
 Syncing all other repositories
@@ -597,9 +597,9 @@
   2352021b37851be226ebed109b0eb6eada918566 334e300d6db500489d842240cbdc40c203d385c7 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'}
   $ hg obslog -r .
   @  334e300d6db5 (10) added x to x
+  |    rebased(parent) from 2352021b3785 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   o  2352021b3785 (9) added x to x
-       rebased(parent) as 334e300d6db5 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   
   $ hg glog -r .^::
   @  10:334e300d6db5 added x to x
@@ -654,13 +654,13 @@
   b1a0e143e32be800ff6a5c2cd6c77823652c901b 0 {502e737366322886cf628276aa0a2796904453b4} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'evolve', 'user': 'test'}
   $ hg obslog -r . b1a0e143e32b --all --hidden
   x  b1a0e143e32b (11) added x to x
+  |    rebased(parent) from 334e300d6db5 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   |    pruned using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  334e300d6db5 (10) added x to x
-  |    rebased(parent) as b1a0e143e32b using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rebased(parent) from 2352021b3785 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   @  2352021b3785 (9) added x to x
-       rebased(parent) as 334e300d6db5 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   
 
   $ hg exp
@@ -750,12 +750,12 @@
   211ab84d1689507465ecf708fea540e9867d5fda 13015a180eee523ba9950f18683762a77f560f3d 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
   $ hg obslog -r .
   @  13015a180eee (14) y to y and foobar to foo
+  |    amended(content) from 211ab84d1689 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  211ab84d1689 (13) y to y and foobar to foo
-  |    amended(content) as 13015a180eee using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rebased(parent) from dc88f5aa9bc9 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   o  dc88f5aa9bc9 (12) y to y and foobar to foo
-       rebased(parent) as 211ab84d1689 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   
 Resolving divergence using `hg evolve`
 -------------------------------------
@@ -838,12 +838,12 @@
   2bfd56949cf0a3abfbf9881254a88fe07b336ddb 5fd38c0de46ec31f0bb1904b5909802bc4bcb47e 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
   $ hg obslog -r .
   @  5fd38c0de46e (19) added l to l
+  |    amended(content) from 2bfd56949cf0 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  2bfd56949cf0 (18) added l to l
-  |    amended(content) as 5fd38c0de46e using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rebased(parent) from f3794e5a91dc using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  f3794e5a91dc (17) added l to l
-       rebased(parent) as 2bfd56949cf0 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   
 
   $ hg phase -r f3794e5a91dc --public --hidden
@@ -1079,20 +1079,21 @@
   ee4af146c5cfe0b1bf7665243dd89f9bfe604f59 89ba615ea1ec3ba5b25db9f7897eb29712d7e5d6 1 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'evolve', 'user': 'test'}
   $ hg obslog -r a51bce62c219 --all
   o  86419909e017 (4) phase-divergent update to a51bce62c219:
+  |    rewritten(description, parent, content) from 4f25cd9cd2bf using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   | @  89ba615ea1ec (6) phase-divergent update to a51bce62c219:
+  | |    rewritten(description, parent, content) from ee4af146c5cf using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   x |  4f25cd9cd2bf (2) added m
-  | |    rewritten(description, parent, content) as 86419909e017 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    split(description, parent, content) from a51bce62c219 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  ee4af146c5cf (5) added n
-  | |    rewritten(description, parent, content) as 89ba615ea1ec using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rebased(parent) from e1154ec0206a using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  e1154ec0206a (3) added n
-  |/     rebased(parent) as ee4af146c5cf using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  |/     split(description, parent, content) from a51bce62c219 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   o  a51bce62c219 (1) added m and n
-       split(description, parent, content) as 4f25cd9cd2bf, e1154ec0206a using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   
 
 XXX: not sure this is the correct
@@ -1213,17 +1214,18 @@
   bb87595f9a77d7d1e4a8726beef266a1636f63d5 26f564f94bcc34e049eb112fd14ab1e5286f2325 1 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'evolve', 'user': 'test'}
   $ hg obslog -r 90859808ece6 --all
   o  25875a9cb640 (4) phase-divergent update to 90859808ece6:
+  |    rewritten(description, parent, content) from a47263294745 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   | @  26f564f94bcc (5) phase-divergent update to 90859808ece6:
+  | |    rewritten(description, parent, content) from bb87595f9a77 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   x |  a47263294745 (2) added p
-  | |    rewritten(description, parent, content) as 25875a9cb640 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    split(description, content) from 90859808ece6 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  bb87595f9a77 (3) added q
-  |/     rewritten(description, parent, content) as 26f564f94bcc using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  |/     split(description, content) from 90859808ece6 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   o  90859808ece6 (1) added p and q
-       split(description, content) as a47263294745, bb87595f9a77 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   
 
 XXX: not sure this is correct
@@ -1350,23 +1352,24 @@
   98dad881251146cd171f53b2a5b7fc3a371f820e 88b0dae5369aaa3bceb6c0b647542594e2c72fb7 1 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'evolve', 'user': 'test'}
   $ hg obslog -r a51bce62c219 --all
   o  86419909e017 (5) phase-divergent update to a51bce62c219:
+  |    rewritten(description, parent, content) from 4f25cd9cd2bf using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   | @  88b0dae5369a (7) phase-divergent update to a51bce62c219:
+  | |    rewritten(description, parent, content) from 98dad8812511 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   x |  4f25cd9cd2bf (2) added m
-  | |    rewritten(description, parent, content) as 86419909e017 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    split(description, parent, content) from a51bce62c219 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | %  98dad8812511 (6) added n
-  | |    rewritten(description, parent, content) as 88b0dae5369a using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rebased(parent) from 52ca78bb98c7 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  52ca78bb98c7 (4) added n
-  | |    rebased(parent) as 98dad8812511 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    amended(content) from e1154ec0206a using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | x  e1154ec0206a (3) added n
-  |/     amended(content) as 52ca78bb98c7 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |/     split(description, parent, content) from a51bce62c219 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   %  a51bce62c219 (1) added m and n
-       split(description, parent, content) as 4f25cd9cd2bf, e1154ec0206a using prune by test (Thu Jan 01 00:00:00 1970 +0000)
   
 
 XXX: not sure this is correct
@@ -1649,54 +1652,54 @@
   3074c7249d2023b1fff891591d7e609695cd09c2 59945437088136c5fa2f9bb8573d5d02623fe7cb 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'amend', 'user': 'test'}
   $ hg obslog --all --patch
   @  599454370881 (2) E2
+  |    rewritten(description, content) from 3074c7249d20 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      diff -r 3074c7249d20 -r 599454370881 changeset-description
+  |      --- a/changeset-description
+  |      +++ b/changeset-description
+  |      @@ -1,1 +1,1 @@
+  |      -E1
+  |      +E2
+  |
+  |      diff -r 3074c7249d20 -r 599454370881 letters
+  |      --- a/letters	Thu Jan 01 00:00:00 1970 +0000
+  |      +++ b/letters	Thu Jan 01 00:00:00 1970 +0000
+  |      @@ -1,7 +1,7 @@
+  |       a
+  |       b
+  |       c
+  |      -D
+  |      +d
+  |       e
+  |       f
+  |       g
+  |      diff -r 3074c7249d20 -r 599454370881 numbers
+  |      --- a/numbers	Thu Jan 01 00:00:00 1970 +0000
+  |      +++ b/numbers	Thu Jan 01 00:00:00 1970 +0000
+  |      @@ -1,9 +1,9 @@
+  |       1
+  |       2
+  |       3
+  |      -four
+  |      +4
+  |       5
+  |       6
+  |      -7
+  |      +seven
+  |       8
+  |       nine
+  |      diff -r 3074c7249d20 -r 599454370881 romans
+  |      --- a/romans	Thu Jan 01 00:00:00 1970 +0000
+  |      +++ b/romans	Thu Jan 01 00:00:00 1970 +0000
+  |      @@ -1,5 +1,5 @@
+  |       I
+  |      -II
+  |      +ii
+  |       III
+  |       IV
+  |       V
+  |
   |
   o  3074c7249d20 (1) E1
-       rewritten(description, content) as 599454370881 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-         diff -r 3074c7249d20 -r 599454370881 changeset-description
-         --- a/changeset-description
-         +++ b/changeset-description
-         @@ -1,1 +1,1 @@
-         -E1
-         +E2
-  
-         diff -r 3074c7249d20 -r 599454370881 letters
-         --- a/letters	Thu Jan 01 00:00:00 1970 +0000
-         +++ b/letters	Thu Jan 01 00:00:00 1970 +0000
-         @@ -1,7 +1,7 @@
-          a
-          b
-          c
-         -D
-         +d
-          e
-          f
-          g
-         diff -r 3074c7249d20 -r 599454370881 numbers
-         --- a/numbers	Thu Jan 01 00:00:00 1970 +0000
-         +++ b/numbers	Thu Jan 01 00:00:00 1970 +0000
-         @@ -1,9 +1,9 @@
-          1
-          2
-          3
-         -four
-         +4
-          5
-          6
-         -7
-         +seven
-          8
-          nine
-         diff -r 3074c7249d20 -r 599454370881 romans
-         --- a/romans	Thu Jan 01 00:00:00 1970 +0000
-         +++ b/romans	Thu Jan 01 00:00:00 1970 +0000
-         @@ -1,5 +1,5 @@
-          I
-         -II
-         +ii
-          III
-          IV
-          V
-  
   
 
   $ hg evolve --phase-divergent --rev 'desc("E2")'
@@ -1836,58 +1839,58 @@
   59945437088136c5fa2f9bb8573d5d02623fe7cb 9eebcb77a7e2b240cb7dce095bbe608b5de91cc8 1 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'evolve', 'user': 'test'}
   $ hg obslog --patch
   @  9eebcb77a7e2 (3) phase-divergent update to 3074c7249d20:
+  |    rewritten(description, parent, content) from 599454370881 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      (No patch available, changesets rebased)
   |
   %  599454370881 (2) E2
-  |    rewritten(description, parent, content) as 9eebcb77a7e2 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
-  |      (No patch available, changesets rebased)
+  |    rewritten(description, content) from 3074c7249d20 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      diff -r 3074c7249d20 -r 599454370881 changeset-description
+  |      --- a/changeset-description
+  |      +++ b/changeset-description
+  |      @@ -1,1 +1,1 @@
+  |      -E1
+  |      +E2
+  |
+  |      diff -r 3074c7249d20 -r 599454370881 letters
+  |      --- a/letters	Thu Jan 01 00:00:00 1970 +0000
+  |      +++ b/letters	Thu Jan 01 00:00:00 1970 +0000
+  |      @@ -1,7 +1,7 @@
+  |       a
+  |       b
+  |       c
+  |      -D
+  |      +d
+  |       e
+  |       f
+  |       g
+  |      diff -r 3074c7249d20 -r 599454370881 numbers
+  |      --- a/numbers	Thu Jan 01 00:00:00 1970 +0000
+  |      +++ b/numbers	Thu Jan 01 00:00:00 1970 +0000
+  |      @@ -1,9 +1,9 @@
+  |       1
+  |       2
+  |       3
+  |      -four
+  |      +4
+  |       5
+  |       6
+  |      -7
+  |      +seven
+  |       8
+  |       nine
+  |      diff -r 3074c7249d20 -r 599454370881 romans
+  |      --- a/romans	Thu Jan 01 00:00:00 1970 +0000
+  |      +++ b/romans	Thu Jan 01 00:00:00 1970 +0000
+  |      @@ -1,5 +1,5 @@
+  |       I
+  |      -II
+  |      +ii
+  |       III
+  |       IV
+  |       V
+  |
   |
   %  3074c7249d20 (1) E1
-       rewritten(description, content) as 599454370881 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
-         diff -r 3074c7249d20 -r 599454370881 changeset-description
-         --- a/changeset-description
-         +++ b/changeset-description
-         @@ -1,1 +1,1 @@
-         -E1
-         +E2
-  
-         diff -r 3074c7249d20 -r 599454370881 letters
-         --- a/letters	Thu Jan 01 00:00:00 1970 +0000
-         +++ b/letters	Thu Jan 01 00:00:00 1970 +0000
-         @@ -1,7 +1,7 @@
-          a
-          b
-          c
-         -D
-         +d
-          e
-          f
-          g
-         diff -r 3074c7249d20 -r 599454370881 numbers
-         --- a/numbers	Thu Jan 01 00:00:00 1970 +0000
-         +++ b/numbers	Thu Jan 01 00:00:00 1970 +0000
-         @@ -1,9 +1,9 @@
-          1
-          2
-          3
-         -four
-         +4
-          5
-          6
-         -7
-         +seven
-          8
-          nine
-         diff -r 3074c7249d20 -r 599454370881 romans
-         --- a/romans	Thu Jan 01 00:00:00 1970 +0000
-         +++ b/romans	Thu Jan 01 00:00:00 1970 +0000
-         @@ -1,5 +1,5 @@
-          I
-         -II
-         +ii
-          III
-          IV
-          V
-  
   
   $ cd ..
 
--- a/tests/test-evolve-public-content-divergent-corner-cases.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-public-content-divergent-corner-cases.t	Thu May 07 01:29:48 2020 +0200
@@ -371,20 +371,20 @@
   9150fe93bec603cd88d05cda9f6ff13420cb53e9 e568fd1029bbe9d506275bbb9a034a0509d80324 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'prune', 'user': 'test'}
   $ hg obslog --all --rev tip --patch
   @  93cd84bbdaca (5) added d
+  |    amended(content) from 9150fe93bec6 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      diff -r 9150fe93bec6 -r 93cd84bbdaca d
+  |      --- a/d	Thu Jan 01 00:00:00 1970 +0000
+  |      +++ b/d	Thu Jan 01 00:00:00 1970 +0000
+  |      @@ -1,1 +1,1 @@
+  |      -d
+  |      +dd
+  |
   |
   | *  e568fd1029bb (4) added c e
-  |/
+  |/     rewritten(description, parent, content) from 9150fe93bec6 using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  |        (No patch available, changesets rebased)
+  |
   x  9150fe93bec6 (3) added d
-       amended(content) as 93cd84bbdaca using prune by test (Thu Jan 01 00:00:00 1970 +0000)
-         diff -r 9150fe93bec6 -r 93cd84bbdaca d
-         --- a/d	Thu Jan 01 00:00:00 1970 +0000
-         +++ b/d	Thu Jan 01 00:00:00 1970 +0000
-         @@ -1,1 +1,1 @@
-         -d
-         +dd
-  
-       rewritten(description, parent, content) as e568fd1029bb using prune by test (Thu Jan 01 00:00:00 1970 +0000)
-         (No patch available, changesets rebased)
   
 
   $ hg evolve --content-divergent --any --update
@@ -766,14 +766,14 @@
   6a87ed4aa31771f9041ca1260a91f7185f38f15c a52ac76b45f523a039fc4a938d79874f4bdb1a85 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'evolve', 'user': 'test'}
   $ hg obslog --rev a52ac76b45f5
   @    a52ac76b45f5 (8) c_F
-  |\
+  |\     rewritten from 6a87ed4aa317 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rebased(parent) from 77ccbf8d837e using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
   x |  6a87ed4aa317 (12) c_F
-  | |    rewritten as a52ac76b45f5 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rebased(parent) from 8ae8db670b4a using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   x |  8ae8db670b4a (10) c_F
-  |/     rebased(parent) as 6a87ed4aa317 using evolve by test (Thu Jan 01 00:00:00 1970 +0000)
+  |/     rebased(parent) from 77ccbf8d837e using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  77ccbf8d837e (6) c_F
-       rebased(parent) as 8ae8db670b4a using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
-       rebased(parent) as a52ac76b45f5 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   
--- a/tests/test-evolve-templates.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve-templates.t	Thu May 07 01:29:48 2020 +0200
@@ -77,12 +77,12 @@
 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
--- a/tests/test-evolve.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-evolve.t	Thu May 07 01:29:48 2020 +0200
@@ -757,7 +757,7 @@
 
 Test olog
 
-  $ hg olog | head -n 10 # hg touch makes the output unstable (fix it with devel option for more stable touch)
+  $ hg olog --no-origin | head -n 10 # hg touch makes the output unstable (fix it with devel option for more stable touch)
   @    d26d339c513f (12) add 4
   |\
   x |  ce341209337f (4) add 4
--- a/tests/test-fold.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-fold.t	Thu May 07 01:29:48 2020 +0200
@@ -100,6 +100,33 @@
   c8d03c1b5e94af74b772900c58259d2e08917735 198b5c405d01a50c41a81a00fc61677b81981a5f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '33', 'fold-id': '25cb328e', 'fold-idx': '1', 'fold-size': '3', 'operation': 'fold', 'user': 'test'}
   f69452c5b1af6cbaaa56ef50cf94fff5bcc6ca23 198b5c405d01a50c41a81a00fc61677b81981a5f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '37', 'fold-id': '25cb328e', 'fold-idx': '2', 'fold-size': '3', 'operation': 'fold', 'user': 'test'}
 
+  $ hg obslog --no-origin
+  @    198b5c405d01 (11) r5
+  |\
+  | \
+  | |\
+  x | |  4de32a90b66c (7) r7
+   / /     folded(description, date, parent) as 198b5c405d01 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
+  x |  c8d03c1b5e94 (5) r5
+   /     folded(description, date) as 198b5c405d01 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  |
+  x  f69452c5b1af (6) r6
+       folded(description, date, parent) as 198b5c405d01 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  
+  $ hg obslog
+  @    198b5c405d01 (11) r5
+  |\     folded(description, date, parent) from 4de32a90b66c, c8d03c1b5e94, f69452c5b1af using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
+  | \
+  | |\
+  x | |  4de32a90b66c (7) r7
+   / /
+  x /  c8d03c1b5e94 (5) r5
+   /
+  x  f69452c5b1af (6) r6
+  
+
 Checking whether the bookmarks are moved or not
 
   $ hg log -G
--- a/tests/test-metaedit.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-metaedit.t	Thu May 07 01:29:48 2020 +0200
@@ -137,7 +137,7 @@
   587528abfffe33d49f94f9d6223dbbd58d6197c6 212b2a2b87cdbae992f001e9baba64db389fbce7 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '16', 'operation': 'metaedit', 'user': 'test'}
   c2bd843aa2468b30bb56d69d4f5fef95b85986f2 a08d35fd7d9d0f8cb33d5bd2074e9bafb5cbc70f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'fold-id': 'c5832a81', 'fold-idx': '1', 'fold-size': '2', 'note': 'folding changesets using metaedit', 'operation': 'metaedit', 'user': 'test'}
   212b2a2b87cdbae992f001e9baba64db389fbce7 a08d35fd7d9d0f8cb33d5bd2074e9bafb5cbc70f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '29', 'fold-id': 'c5832a81', 'fold-idx': '2', 'fold-size': '2', 'note': 'folding changesets using metaedit', 'operation': 'metaedit', 'user': 'test'}
-  $ hg obslog -r .
+  $ hg obslog -r . --no-origin
   @    a08d35fd7d9d (9) E
   |\
   x |  212b2a2b87cd (8) F
@@ -151,6 +151,18 @@
   x  587528abfffe (7) F
        reauthored(user) as 212b2a2b87cd using metaedit by test (Thu Jan 01 00:00:00 1970 +0000)
   
+  $ hg obslog -r .
+  @    a08d35fd7d9d (9) E
+  |\     folded(description, user, parent, content) from 212b2a2b87cd, c2bd843aa246 using metaedit by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |      note: folding changesets using metaedit
+  | |
+  x |  212b2a2b87cd (8) F
+  | |    reauthored(user) from 587528abfffe using metaedit by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |
+  | x  c2bd843aa246 (6) E
+  |
+  x  587528abfffe (7) F
+  
   $ hg debugobsolete --rev . --exclusive
   212b2a2b87cdbae992f001e9baba64db389fbce7 a08d35fd7d9d0f8cb33d5bd2074e9bafb5cbc70f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '29', 'fold-id': 'c5832a81', 'fold-idx': '2', 'fold-size': '2', 'note': 'folding changesets using metaedit', 'operation': 'metaedit', 'user': 'test'}
   c2bd843aa2468b30bb56d69d4f5fef95b85986f2 a08d35fd7d9d0f8cb33d5bd2074e9bafb5cbc70f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'fold-id': 'c5832a81', 'fold-idx': '1', 'fold-size': '2', 'note': 'folding changesets using metaedit', 'operation': 'metaedit', 'user': 'test'}
--- a/tests/test-obsolete.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-obsolete.t	Thu May 07 01:29:48 2020 +0200
@@ -724,13 +724,17 @@
   [4] add obsol_c'
   [10] add obsol_c
   [2]
-  $ hg olog
+  $ hg olog -a
+  o  2033b4e49474 (10) add obsol_c
+  |    rebased(parent) from 0d3f46688ccc using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
+  |
+  | o  725c380fe99b (4) add obsol_c'
+  |/     rewritten from 0d3f46688ccc by test (Thu Jan 01 00:00:00 1970 +0000)
+  |
   @  0d3f46688ccc (3) add obsol_c
-  |    rebased(parent) as 2033b4e49474 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
-  |    rewritten as 725c380fe99b by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten from 4538525df7e2 by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  4538525df7e2 (2) add c
-       rewritten as 0d3f46688ccc by test (Thu Jan 01 00:00:00 1970 +0000)
   
 
 Check import reports new unstable changeset:
--- a/tests/test-rewind.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-rewind.t	Thu May 07 01:29:48 2020 +0200
@@ -90,13 +90,20 @@
   $ hg debugobsolete
   7e594302a05d3769b27be88fc3cdfd39d7498498 0 {579f120ba91885449adc92eedf48ef3569742cee} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
   7e594302a05d3769b27be88fc3cdfd39d7498498 073989a581cf430a844192364fa37606357cbbc2 4 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
-  $ hg obslog -r 'desc("c_B0")'
+  $ hg obslog -r 'desc("c_B0")' --no-origin
   o  073989a581cf (3) c_B0
   |
   x  7e594302a05d (2) c_B0
        pruned using prune by test (Thu Jan 01 00:00:00 1970 +0000)
        meta-changed(meta) as 073989a581cf using rewind by test (Thu Jan 01 00:00:00 1970 +0000)
   
+  $ hg obslog -r 'desc("c_B0")'
+  o  073989a581cf (3) c_B0
+  |    meta-changed(meta) from 7e594302a05d using rewind by test (Thu Jan 01 00:00:00 1970 +0000)
+  |
+  x  7e594302a05d (2) c_B0
+       pruned using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  
   $ hg log -G
   o  changeset:   3:073989a581cf
   |  tag:         tip
@@ -165,7 +172,7 @@
   7e594302a05d3769b27be88fc3cdfd39d7498498 073989a581cf430a844192364fa37606357cbbc2 4 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
   073989a581cf430a844192364fa37606357cbbc2 0 {579f120ba91885449adc92eedf48ef3569742cee} (Thu Jan 01 00:00:01 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
   7e594302a05d3769b27be88fc3cdfd39d7498498 b13b032065ef57a68d9a4cead38ba0f34f95529b 4 (Thu Jan 01 00:00:01 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
-  $ hg obslog -r 'desc("c_B0")' --all
+  $ hg obslog -r 'desc("c_B0")' --all --no-origin
   x  073989a581cf (3) c_B0
   |    pruned using prune by test (Thu Jan 01 00:00:01 1970 +0000)
   |
@@ -176,6 +183,17 @@
        meta-changed(meta) as 073989a581cf using rewind by test (Thu Jan 01 00:00:00 1970 +0000)
        meta-changed(meta) as b13b032065ef using rewind by test (Thu Jan 01 00:00:01 1970 +0000)
   
+  $ hg obslog -r 'desc("c_B0")' --all
+  x  073989a581cf (3) c_B0
+  |    meta-changed(meta) from 7e594302a05d using rewind by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    pruned using prune by test (Thu Jan 01 00:00:01 1970 +0000)
+  |
+  | o  b13b032065ef (4) c_B0
+  |/     meta-changed(meta) from 7e594302a05d using rewind by test (Thu Jan 01 00:00:01 1970 +0000)
+  |
+  x  7e594302a05d (2) c_B0
+       pruned using prune by test (Thu Jan 01 00:00:00 1970 +0000)
+  
   $ hg log -G
   o  changeset:   4:b13b032065ef
   |  tag:         tip
@@ -268,13 +286,19 @@
   $ hg debugobsolete
   7e594302a05d3769b27be88fc3cdfd39d7498498 25c8f5ab0c3bb569ec672570f1a901be4c6f032b 0 (Thu Jan 01 00:00:01 1970 +0000) {'ef1': '9', 'operation': 'amend', 'user': 'test'}
   7e594302a05d3769b27be88fc3cdfd39d7498498 b13b032065ef57a68d9a4cead38ba0f34f95529b 4 (Thu Jan 01 00:00:01 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
-  $ hg obslog --rev 'desc("c_B0")'
+  $ hg obslog --rev 'desc("c_B0")' --no-origin
   *  b13b032065ef (4) c_B0
   |
   x  7e594302a05d (2) c_B0
        rewritten(description, content) as 25c8f5ab0c3b using amend by test (Thu Jan 01 00:00:01 1970 +0000)
        meta-changed(meta) as b13b032065ef using rewind by test (Thu Jan 01 00:00:01 1970 +0000)
   
+  $ hg obslog --rev 'desc("c_B0")'
+  *  b13b032065ef (4) c_B0
+  |    meta-changed(meta) from 7e594302a05d using rewind by test (Thu Jan 01 00:00:01 1970 +0000)
+  |
+  x  7e594302a05d (2) c_B0
+  
   $ hg log -G
   *  changeset:   4:b13b032065ef
   |  tag:         tip
@@ -372,7 +396,7 @@
   b13b032065ef57a68d9a4cead38ba0f34f95529b 0 {579f120ba91885449adc92eedf48ef3569742cee} (Thu Jan 01 00:00:01 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
   7e594302a05d3769b27be88fc3cdfd39d7498498 837cd997bb05a27f8ed7d1ba3ff1e8422b9b464e 4 (Thu Jan 01 00:00:02 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
   25c8f5ab0c3bb569ec672570f1a901be4c6f032b 837cd997bb05a27f8ed7d1ba3ff1e8422b9b464e 0 (Thu Jan 01 00:00:02 1970 +0000) {'ef1': '11', 'operation': 'rewind', 'user': 'test'}
-  $ hg obslog --rev 'desc("c_B0")'
+  $ hg obslog --rev 'desc("c_B0")' --no-origin
   @    837cd997bb05 (5) c_B0
   |\
   x |  25c8f5ab0c3b (3) c_B1
@@ -383,6 +407,16 @@
        meta-changed(meta) as 837cd997bb05 using rewind by test (Thu Jan 01 00:00:02 1970 +0000)
        meta-changed(meta) as b13b032065ef using rewind by test (Thu Jan 01 00:00:01 1970 +0000)
   
+  $ hg obslog --rev 'desc("c_B0")'
+  @    837cd997bb05 (5) c_B0
+  |\     rewritten(description, meta, content) from 25c8f5ab0c3b using rewind by test (Thu Jan 01 00:00:02 1970 +0000)
+  | |    meta-changed(meta) from 7e594302a05d using rewind by test (Thu Jan 01 00:00:02 1970 +0000)
+  | |
+  x |  25c8f5ab0c3b (3) c_B1
+  |/     rewritten(description, content) from 7e594302a05d using amend by test (Thu Jan 01 00:00:01 1970 +0000)
+  |
+  x  7e594302a05d (2) c_B0
+  
   $ hg log -G
   @  changeset:   5:837cd997bb05
   |  tag:         tip
@@ -514,7 +548,7 @@
   
   $ hg debugobsolete
   49fb7d900906b0a3d329e90da4dcb0a7582d3b6e a0316c4c54179357e71d068fb8884678ebc7c351 9576e80d6851ce79cd535e2dc5fa01b444d89a39 0 (Thu Jan 01 00:00:02 1970 +0000) {'ef1': '12', 'operation': 'split', 'user': 'test'}
-  $ hg obslog --all
+  $ hg obslog --all --no-origin
   @  9576e80d6851 (5) c_CD0
   |
   | o  a0316c4c5417 (4) c_CD0
@@ -522,6 +556,15 @@
   x  49fb7d900906 (3) c_CD0
        split(parent, content) as 9576e80d6851, a0316c4c5417 using split by test (Thu Jan 01 00:00:02 1970 +0000)
   
+  $ hg obslog --all
+  @  9576e80d6851 (5) c_CD0
+  |    split(parent, content) from 49fb7d900906 using split by test (Thu Jan 01 00:00:02 1970 +0000)
+  |
+  | o  a0316c4c5417 (4) c_CD0
+  |/     split(parent, content) from 49fb7d900906 using split by test (Thu Jan 01 00:00:02 1970 +0000)
+  |
+  x  49fb7d900906 (3) c_CD0
+  
 
 Actual rewind
 `````````````
@@ -535,7 +578,7 @@
   49fb7d900906b0a3d329e90da4dcb0a7582d3b6e 4535d0af405c1bf35f37b35f26ec6f9acfa6fe0b 4 (Thu Jan 01 00:00:02 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
   9576e80d6851ce79cd535e2dc5fa01b444d89a39 4535d0af405c1bf35f37b35f26ec6f9acfa6fe0b 0 (Thu Jan 01 00:00:02 1970 +0000) {'ef1': '14', 'operation': 'rewind', 'user': 'test'}
   a0316c4c54179357e71d068fb8884678ebc7c351 4535d0af405c1bf35f37b35f26ec6f9acfa6fe0b 0 (Thu Jan 01 00:00:02 1970 +0000) {'ef1': '10', 'operation': 'rewind', 'user': 'test'}
-  $ hg obslog
+  $ hg obslog --no-origin
   @    4535d0af405c (6) c_CD0
   |\
   | \
@@ -550,6 +593,22 @@
        meta-changed(meta) as 4535d0af405c using rewind by test (Thu Jan 01 00:00:02 1970 +0000)
        split(parent, content) as 9576e80d6851, a0316c4c5417 using split by test (Thu Jan 01 00:00:02 1970 +0000)
   
+  $ hg obslog
+  @    4535d0af405c (6) c_CD0
+  |\     meta-changed(meta) from 49fb7d900906 using rewind by test (Thu Jan 01 00:00:02 1970 +0000)
+  | |    rewritten(meta, parent, content) from 9576e80d6851 using rewind by test (Thu Jan 01 00:00:02 1970 +0000)
+  | |    rewritten(meta, content) from a0316c4c5417 using rewind by test (Thu Jan 01 00:00:02 1970 +0000)
+  | |
+  | \
+  | |\
+  | x |  9576e80d6851 (5) c_CD0
+  |/ /     split(parent, content) from 49fb7d900906 using split by test (Thu Jan 01 00:00:02 1970 +0000)
+  | |
+  | x  a0316c4c5417 (4) c_CD0
+  |/     split(parent, content) from 49fb7d900906 using split by test (Thu Jan 01 00:00:02 1970 +0000)
+  |
+  x  49fb7d900906 (3) c_CD0
+  
   $ hg log -G
   @  changeset:   6:4535d0af405c
   |  tag:         tip
@@ -597,7 +656,7 @@
   a0316c4c54179357e71d068fb8884678ebc7c351 e76375de0bfc9c59bdd91067c901f3eed7d6c8fe 4 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
   9576e80d6851ce79cd535e2dc5fa01b444d89a39 95d72d892df7fec59107e10914c5729bdf03665f 4 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '6', 'operation': 'rewind', 'user': 'test'}
   4535d0af405c1bf35f37b35f26ec6f9acfa6fe0b e76375de0bfc9c59bdd91067c901f3eed7d6c8fe 95d72d892df7fec59107e10914c5729bdf03665f 0 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '14', 'operation': 'rewind', 'user': 'test'}
-  $ hg obslog -r -2:
+  $ hg obslog -r -2: --no-origin
   @    95d72d892df7 (8) c_CD0
   |\
   +---o  e76375de0bfc (7) c_CD0
@@ -673,7 +732,7 @@
   $ hg debugobsolete
   579f120ba91885449adc92eedf48ef3569742cee d952d1794ff657f5c2a82225d2e6307ed930b32f 0 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '9', 'operation': 'amend', 'user': 'test'}
   7e594302a05d3769b27be88fc3cdfd39d7498498 a65fceb2324ae1eb1231610193d24a5fa02c7c0e 0 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '4', 'operation': 'evolve', 'user': 'test'}
-  $ hg obslog -r 'desc("c_A1")::'
+  $ hg obslog -r 'desc("c_A1")::' --no-origin
   @  a65fceb2324a (4) c_B0
   |
   | o  d952d1794ff6 (3) c_A1
@@ -684,6 +743,17 @@
   x  7e594302a05d (2) c_B0
        rebased(parent) as a65fceb2324a using evolve by test (Thu Jan 01 00:00:03 1970 +0000)
   
+  $ hg obslog -r 'desc("c_A1")::'
+  @  a65fceb2324a (4) c_B0
+  |    rebased(parent) from 7e594302a05d using evolve by test (Thu Jan 01 00:00:03 1970 +0000)
+  |
+  | o  d952d1794ff6 (3) c_A1
+  | |    rewritten(description, content) from 579f120ba918 using amend by test (Thu Jan 01 00:00:03 1970 +0000)
+  | |
+  | x  579f120ba918 (1) c_A0
+  |
+  x  7e594302a05d (2) c_B0
+  
   $ hg log -G
   @  changeset:   4:a65fceb2324a
   |  tag:         tip
@@ -716,7 +786,7 @@
   7e594302a05d3769b27be88fc3cdfd39d7498498 a65fceb2324ae1eb1231610193d24a5fa02c7c0e 0 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '4', 'operation': 'evolve', 'user': 'test'}
   7e594302a05d3769b27be88fc3cdfd39d7498498 ac979e0aac4e63ccbbf88ac33942192942302766 4 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
   a65fceb2324ae1eb1231610193d24a5fa02c7c0e ac979e0aac4e63ccbbf88ac33942192942302766 0 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '6', 'operation': 'rewind', 'user': 'test'}
-  $ hg obslog
+  $ hg obslog --no-origin
   @    ac979e0aac4e (5) c_B0
   |\
   | x  a65fceb2324a (4) c_B0
@@ -726,6 +796,16 @@
        rebased(parent) as a65fceb2324a using evolve by test (Thu Jan 01 00:00:03 1970 +0000)
        meta-changed(meta) as ac979e0aac4e using rewind by test (Thu Jan 01 00:00:03 1970 +0000)
   
+  $ hg obslog
+  @    ac979e0aac4e (5) c_B0
+  |\     meta-changed(meta) from 7e594302a05d using rewind by test (Thu Jan 01 00:00:03 1970 +0000)
+  | |    rewritten(meta, parent) from a65fceb2324a using rewind by test (Thu Jan 01 00:00:03 1970 +0000)
+  | |
+  | x  a65fceb2324a (4) c_B0
+  |/     rebased(parent) from 7e594302a05d using evolve by test (Thu Jan 01 00:00:03 1970 +0000)
+  |
+  x  7e594302a05d (2) c_B0
+  
   $ hg log -G
   @  changeset:   5:ac979e0aac4e
   |  tag:         tip
@@ -790,7 +870,7 @@
   a65fceb2324ae1eb1231610193d24a5fa02c7c0e ac979e0aac4e63ccbbf88ac33942192942302766 0 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '6', 'operation': 'rewind', 'user': 'test'}
   a65fceb2324ae1eb1231610193d24a5fa02c7c0e a5dd64adbb2af2e646859b35d0d7128daa73cb2b 4 (Thu Jan 01 00:00:04 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
   ac979e0aac4e63ccbbf88ac33942192942302766 a5dd64adbb2af2e646859b35d0d7128daa73cb2b 0 (Thu Jan 01 00:00:04 1970 +0000) {'ef1': '6', 'operation': 'rewind', 'user': 'test'}
-  $ hg obslog
+  $ hg obslog --no-origin
   @    a5dd64adbb2a (6) c_B0
   |\
   | x  ac979e0aac4e (5) c_B0
@@ -822,7 +902,7 @@
   ac979e0aac4e63ccbbf88ac33942192942302766 3f2d8862657d20af331f0c0531f5228eef4d36c5 4 (Thu Jan 01 00:00:05 1970 +0000) {'ef1': '6', 'operation': 'rewind', 'user': 'test'}
   a5dd64adbb2af2e646859b35d0d7128daa73cb2b 3f2d8862657d20af331f0c0531f5228eef4d36c5 0 (Thu Jan 01 00:00:05 1970 +0000) {'ef1': '6', 'operation': 'rewind', 'user': 'test'}
   d952d1794ff657f5c2a82225d2e6307ed930b32f 9c28b7ed3951fd15b20ab75449c1e0fdec445958 0 (Thu Jan 01 00:00:05 1970 +0000) {'ef1': '11', 'operation': 'rewind', 'user': 'test'}
-  $ hg obslog
+  $ hg obslog --no-origin
   @    3f2d8862657d (8) c_B0
   |\
   x |  a5dd64adbb2a (6) c_B0
@@ -882,7 +962,7 @@
   a5dd64adbb2af2e646859b35d0d7128daa73cb2b d36d6d267714108384f31762b6193c32f9f97514 4 (Thu Jan 01 00:00:06 1970 +0000) {'ef1': '6', 'operation': 'rewind', 'user': 'test'}
   3f2d8862657d20af331f0c0531f5228eef4d36c5 d36d6d267714108384f31762b6193c32f9f97514 0 (Thu Jan 01 00:00:06 1970 +0000) {'ef1': '6', 'operation': 'rewind', 'user': 'test'}
   9c28b7ed3951fd15b20ab75449c1e0fdec445958 fef4355b4cc9e2d3ddc154f60e4f4f1a286e9ce7 0 (Thu Jan 01 00:00:06 1970 +0000) {'ef1': '11', 'operation': 'rewind', 'user': 'test'}
-  $ hg obslog
+  $ hg obslog --no-origin
   @    d36d6d267714 (10) c_B0
   |\
   x |  3f2d8862657d (8) c_B0
@@ -1009,7 +1089,7 @@
   30704102d912d9d35a3d51400c4c93ad1e8bc7f3 2ea5be2f87510c7d26d5866dec83b57a7d939c4a 0 (Thu Jan 01 00:00:06 1970 +0000) {'ef1': '9', 'operation': 'amend', 'user': 'test'}
   30704102d912d9d35a3d51400c4c93ad1e8bc7f3 b4c97fddc16aa57693fa0a730d4b44ceb75bb35c 4 (Thu Jan 01 00:00:06 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
   2ea5be2f87510c7d26d5866dec83b57a7d939c4a b4c97fddc16aa57693fa0a730d4b44ceb75bb35c 0 (Thu Jan 01 00:00:06 1970 +0000) {'ef1': '11', 'operation': 'rewind', 'user': 'test'}
-  $ hg obslog
+  $ hg obslog --no-origin
   @    b4c97fddc16a (3) initial
   |\
   x |  2ea5be2f8751 (2) amended
@@ -1019,6 +1099,16 @@
        rewritten(description, content) as 2ea5be2f8751 using amend by test (Thu Jan 01 00:00:06 1970 +0000)
        meta-changed(meta) as b4c97fddc16a using rewind by test (Thu Jan 01 00:00:06 1970 +0000)
   
+  $ hg obslog
+  @    b4c97fddc16a (3) initial
+  |\     rewritten(description, meta, content) from 2ea5be2f8751 using rewind by test (Thu Jan 01 00:00:06 1970 +0000)
+  | |    meta-changed(meta) from 30704102d912 using rewind by test (Thu Jan 01 00:00:06 1970 +0000)
+  | |
+  x |  2ea5be2f8751 (2) amended
+  |/     rewritten(description, content) from 30704102d912 using amend by test (Thu Jan 01 00:00:06 1970 +0000)
+  |
+  x  30704102d912 (1) initial
+  
   $ hg glf --hidden
   @  3: initial (a b)
   |
--- a/tests/test-topic-stack.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-topic-stack.t	Thu May 07 01:29:48 2020 +0200
@@ -971,20 +971,21 @@
   b24bab30ac12f6124a52e74aaf46b7468e42526c dde94df880e97f4a1ee8c5408254b429b3d90204 e7ea874afbd5c17aeee366d39a828dbcb01682ce 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '12', 'operation': 'split', 'user': 'test'}
   $ hg --config extensions.evolve= obslog --all
   o  dde94df880e9 (21) c_G
+  |    split(parent, content) from b24bab30ac12 using split by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   | @  e7ea874afbd5 (22) c_G
-  |/
+  |/     split(parent, content) from b24bab30ac12 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |
   x  b24bab30ac12 (20) c_G
-  |    split(parent, content) as dde94df880e9, e7ea874afbd5 using split by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    amended(content) from 907f7d3c2333 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  907f7d3c2333 (18) c_G
-  |    amended(content) as b24bab30ac12 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rebased(parent) from 3ab2eedae500 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  3ab2eedae500 (13) c_G
-  |    rebased(parent) as 907f7d3c2333 using rebase by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    reauthored(user) from c7d60a180d05 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x  c7d60a180d05 (6) c_G
-       reauthored(user) as 3ab2eedae500 using amend by test (Thu Jan 01 00:00:00 1970 +0000)
   
   $ hg export .
   # HG changeset patch
--- a/tests/test-touch.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-touch.t	Thu May 07 01:29:48 2020 +0200
@@ -168,7 +168,7 @@
   * * 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '4', 'operation': 'rebase', 'user': 'test'} (glob)
   * 0 {*} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'} (glob)
   * * 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'note': 'testing with no successor', 'operation': 'touch', 'user': 'test'} (glob)
-  $ hg obslog -r 13 --hidden
+  $ hg obslog -r 13 --no-origin --hidden
   x  [0-9a-f]{12} (.*) move (re)
        pruned using prune by test (Thu Jan 01 00:00:00 1970 +0000)
        rewritten(.*) as [0-9a-f]{12} using touch by test (.*) (re)
--- a/tests/test-uncommit-interactive.t	Thu May 07 01:29:24 2020 +0200
+++ b/tests/test-uncommit-interactive.t	Thu May 07 01:29:48 2020 +0200
@@ -178,10 +178,10 @@
   f70fb463d5bf9f0ffd38f105521d96e9f2591bc1 678a59e5ff90754d5e94719bd82ad169be773c21 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'note': 'note on amend --extract', 'operation': 'uncommit', 'user': 'test'}
   $ hg obslog
   @  678a59e5ff90 (3) another one
+  |    amended(content) from f70fb463d5bf using uncommit by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      note: note on amend --extract
   |
   x  f70fb463d5bf (1) another one
-       amended(content) as 678a59e5ff90 using uncommit by test (Thu Jan 01 00:00:00 1970 +0000)
-         note: note on amend --extract
   
 The unselected part should be in the diff
 -----------------------------------------
@@ -318,14 +318,14 @@
   678a59e5ff90754d5e94719bd82ad169be773c21 46e35360be473bf761bedf3d05de4a68ffd9d9f8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'note': 'testing uncommit on dirty wdir', 'operation': 'uncommit', 'user': 'test'}
   $ hg obslog
   @  46e35360be47 (5) another one
+  |    amended(content) from 678a59e5ff90 using uncommit by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      note: testing uncommit on dirty wdir
   |
   x  678a59e5ff90 (3) another one
-  |    amended(content) as 46e35360be47 using uncommit by test (Thu Jan 01 00:00:00 1970 +0000)
-  |      note: testing uncommit on dirty wdir
+  |    amended(content) from f70fb463d5bf using uncommit by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      note: note on amend --extract
   |
   x  f70fb463d5bf (1) another one
-       amended(content) as 678a59e5ff90 using uncommit by test (Thu Jan 01 00:00:00 1970 +0000)
-         note: note on amend --extract
   
 
 Push the changes back to the commit and more commits for more testing