changeset 5640:8d93e7fc0daa mercurial-4.7

test-compat: merge mercurial-4.8 into mercurial-4.7 # no-check-commit
author Anton Shestakov <av6@dwimlabs.net>
date Sat, 31 Oct 2020 20:02:03 +0800
parents f0ce31fcb630 (current diff) a135b450e3be (diff)
children 1dd861f4608c
files .gitlab-ci.yml tests/test-evolve-content-divergent-corner-cases.t tests/test-evolve-content-divergent-relocation.t tests/test-evolve-content-divergent-stack.t tests/test-evolve-obshistory-amend-then-fold.t tests/test-evolve-obshistory-amend.t tests/test-evolve-obshistory-fold.t tests/test-evolve-public-content-divergent-corner-cases.t tests/test-evolve-serveronly-bundle2.t tests/test-evolve-templates.t tests/test-evolve.t tests/test-metaedit.t tests/test-topic-dest.t tests/test-topic-tutorial.t tests/test-topic.t tests/test-wireproto.t
diffstat 59 files changed, 387 insertions(+), 242 deletions(-) [+]
line wrap: on
line diff
--- a/.gitlab-ci.yml	Sat Oct 31 19:43:46 2020 +0800
+++ b/.gitlab-ci.yml	Sat Oct 31 20:02:03 2020 +0800
@@ -27,7 +27,8 @@
     script:
         - *prepare_hg
         - ("$PYTHON" --version)
-        - (cd tests; set -x; HGMODULEPOLICY="$TEST_HGMODULEPOLICY" "$PYTHON" /ci/repos/mercurial/tests/run-tests.py --color=always $RUNTEST_ARGS)
+        - jobs=$(python -c 'import multiprocessing; print multiprocessing.cpu_count()')
+        - (cd tests; set -x; HGMODULEPOLICY="$TEST_HGMODULEPOLICY" "$PYTHON" /ci/repos/mercurial/tests/run-tests.py -j $jobs --color=always $RUNTEST_ARGS)
 
 checks-py2:
     <<: *runtests
--- a/tests/test-corrupt.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-corrupt.t	Sat Oct 31 20:02:03 2020 +0800
@@ -60,7 +60,7 @@
   checking manifests
   crosschecking files in changesets and manifests
   checking files
-  checked 3 changesets with 13 changes to 13 files
+  13 files, 3 changesets, 13 total revisions
   $ mkcommit D
   $ mkcommit E
   $ hg up -q .^^
@@ -115,7 +115,7 @@
   checking manifests
   crosschecking files in changesets and manifests
   checking files
-  checked 4 changesets with 15 changes to 15 files
+  15 files, 4 changesets, 15 total revisions
 
 
 
--- a/tests/test-discovery-hidden-common.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-discovery-hidden-common.t	Sat Oct 31 20:02:03 2020 +0800
@@ -33,7 +33,7 @@
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
-  new changesets 1e4be0697311:8aaa48160adc (2 drafts)
+  new changesets 1e4be0697311:8aaa48160adc
   (run 'hg update' to get a working copy)
   $ hg -R ../client log -G
   o  1 8aaa48160adc A0 tip
@@ -63,7 +63,7 @@
   added 1 changesets with 1 changes to 1 files (+1 heads)
   1 new obsolescence markers
   obsoleted 1 changesets
-  new changesets f6082bc4ffef (1 drafts)
+  new changesets f6082bc4ffef
   (run 'hg heads' to see heads)
   $ hg -R ../client log -G
   o  2 f6082bc4ffef A1 tip
@@ -92,7 +92,7 @@
   added 1 changesets with 1 changes to 1 files (+1 heads)
   1 new obsolescence markers
   obsoleted 1 changesets
-  new changesets c1f8d089020f (1 drafts)
+  new changesets c1f8d089020f
   (run 'hg heads' to see heads)
   $ hg -R ../client log -G
   o  3 c1f8d089020f A2 tip
--- a/tests/test-discovery-obshashrange.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-discovery-obshashrange.t	Sat Oct 31 20:02:03 2020 +0800
@@ -320,7 +320,7 @@
   * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> sending hello command (glob)
   * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> sending between command (glob)
   * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> remote: * (glob)
-  * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> remote: capabilities: _evoext_getbundle_obscommon _evoext_obshashrange_v1 batch branchmap bundle2=HG20%0Abookmarks%0Achangegroup%3D01%2C02%0Adigests%3Dmd5%2Csha1%2Csha512%0Aerror%3Dabort%2Cunsupportedcontent%2Cpushraced%2Cpushkey%0Ahgtagsfnodes%0Alistkeys%0Aobsmarkers%3DV0%2CV1%0Aphases%3Dheads%0Apushkey%0Aremote-changegroup%3Dhttp%2Chttps%0Arev-branch-cache%0Astream%3Dv2 changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob)
+  * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> remote: capabilities: _evoext_getbundle_obscommon _evoext_obshashrange_v1 batch branchmap bundle2=HG20%0Abookmarks%0Achangegroup%3D01%2C02%0Adigests%3Dmd5%2Csha1%2Csha512%0Aerror%3Dabort%2Cunsupportedcontent%2Cpushraced%2Cpushkey%0Ahgtagsfnodes%0Alistkeys%0Aobsmarkers%3DV0%2CV1%0Aphases%3Dheads%0Apushkey%0Aremote-changegroup%3Dhttp%2Chttps%0Arev-branch-cache changegroupsubset getbundle known lookup protocaps pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (glob)
   * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> remote: 1 (glob)
   * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> sending protocaps command (glob)
   * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> query 1; heads (glob)
--- a/tests/test-evolve-content-divergent-corner-cases.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-evolve-content-divergent-corner-cases.t	Sat Oct 31 20:02:03 2020 +0800
@@ -352,8 +352,7 @@
   base: [4] added e
   rebasing "divergent" content-divergent changeset ff6f7cd76a7c on 155349b645be
   rebasing "other" content-divergent changeset de4ea3103326 on 155349b645be
-  file 'd' was deleted in local but was modified in other.
-  What do you want to do?
+  other changed d which local deleted
   use (c)hanged version, leave (d)eleted, or leave (u)nresolved? c
   0 files updated, 1 files merged, 0 files removed, 0 files unresolved
   working directory is now at 51ee71efed61
--- a/tests/test-evolve-content-divergent-relocation.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-evolve-content-divergent-relocation.t	Sat Oct 31 20:02:03 2020 +0800
@@ -636,8 +636,8 @@
 The other side of the divergence gets amended so it matches upstream.
 Relocation (onto upstream) will therefore result in no changes to commit.
   $ hg revert -r 'desc("upstream")' --all
+  reverting a
   removing b
-  reverting a
   $ hg amend --config experimental.evolution.allowdivergence=True
   2 new content-divergent changesets
 
--- a/tests/test-evolve-content-divergent-stack.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-evolve-content-divergent-stack.t	Sat Oct 31 20:02:03 2020 +0800
@@ -47,7 +47,7 @@
   adding manifests
   adding file changes
   added 5 changesets with 5 changes to 5 files
-  new changesets 8fa14d15e168:c41c793e0ef1 (5 drafts)
+  new changesets 8fa14d15e168:c41c793e0ef1
   (run 'hg update' to get a working copy)
   $ hg glog
   o  4:c41c793e0ef1 added d
@@ -117,7 +117,7 @@
   added 4 changesets with 0 changes to 4 files (+1 heads)
   5 new obsolescence markers
   8 new content-divergent changesets
-  new changesets 82b74d5dc678:15c781f93cac (4 drafts)
+  new changesets 82b74d5dc678:15c781f93cac
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
   $ hg glog
@@ -370,7 +370,7 @@
   adding manifests
   adding file changes
   added 5 changesets with 5 changes to 5 files
-  new changesets 8fa14d15e168:c41c793e0ef1 (5 drafts)
+  new changesets 8fa14d15e168:c41c793e0ef1
   (run 'hg update' to get a working copy)
 
   $ hg glog
@@ -444,7 +444,7 @@
   added 5 changesets with 1 changes to 5 files (+1 heads)
   4 new obsolescence markers
   8 new content-divergent changesets
-  new changesets 2228e3b74514:d45f050514c2 (5 drafts)
+  new changesets 2228e3b74514:d45f050514c2
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
   $ hg glog
@@ -1093,7 +1093,7 @@
   added 4 changesets with 1 changes to 5 files (+1 heads)
   3 new obsolescence markers
   6 new content-divergent changesets
-  new changesets 9703820a7d5b:9a1f460df8b5 (4 drafts)
+  new changesets 9703820a7d5b:9a1f460df8b5
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg glog
   *  10:9a1f460df8b5 added dar
--- a/tests/test-evolve-obshistory-amend-then-fold.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-evolve-obshistory-amend-then-fold.t	Sat Oct 31 20:02:03 2020 +0800
@@ -56,7 +56,7 @@
   | |  parent:      1:471f378eab4c
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
-  | |  obsolete:    folded using fold as 4:eb5a0daa2192
+  | |  obsolete:    rewritten using fold as 4:eb5a0daa2192
   | |  summary:     B1
   | |
   | | x  changeset:   2:0dec01379d3b
@@ -68,7 +68,7 @@
   | x  changeset:   1:471f378eab4c
   |/   user:        test
   |    date:        Thu Jan 01 00:00:00 1970 +0000
-  |    obsolete:    folded using fold as 4:eb5a0daa2192
+  |    obsolete:    rewritten using fold as 4:eb5a0daa2192
   |    summary:     A0
   |
   o  changeset:   0:ea207398892e
@@ -84,7 +84,7 @@
   @    eb5a0daa2192 (4) C0
   |\
   x |  471f378eab4c (1) A0
-   /     folded(description, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+   /     rewritten(description, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   |        diff -r 471f378eab4c -r eb5a0daa2192 changeset-description
   |        --- a/changeset-description
   |        +++ b/changeset-description
@@ -100,7 +100,7 @@
   |
   |
   x  b7ea6d14e664 (3) B1
-  |    folded(description, parent, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   |      (No patch available, changesets rebased)
   |
   x  0dec01379d3b (2) B0
@@ -115,8 +115,22 @@
   
   $ 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))
+  |\     rewritten(description, content) from 471f378eab4c using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |      diff -r 471f378eab4c -r eb5a0daa2192 changeset-description
+  | |      --- a/changeset-description
+  | |      +++ b/changeset-description
+  | |      @@ -1,1 +1,1 @@
+  | |      -A0
+  | |      +C0
+  | |
+  | |      diff -r 471f378eab4c -r eb5a0daa2192 B0
+  | |      --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+  | |      +++ b/B0	Thu Jan 01 00:00:00 1970 +0000
+  | |      @@ -0,0 +1,1 @@
+  | |      +B0
+  | |
+  | |    rewritten(description, parent, content) from b7ea6d14e664 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |      (No patch available, changesets rebased)
   | |
   x |  471f378eab4c (1) A0
    /
@@ -137,7 +151,7 @@
   @    eb5a0daa2192 (4) C0
   |\
   x |  471f378eab4c (1) A0
-   /     folded(description, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+   /     rewritten(description, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   |        diff -r 471f378eab4c -r eb5a0daa2192 changeset-description
   |        --- a/changeset-description
   |        +++ b/changeset-description
@@ -153,7 +167,7 @@
   |
   |
   x  b7ea6d14e664 (3) B1
-  |    folded(description, parent, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  |    rewritten(description, parent, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   |      (No patch available, changesets rebased)
   |
   x  0dec01379d3b (2) B0
@@ -168,8 +182,22 @@
   
   $ 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))
+  |\     rewritten(description, content) from 471f378eab4c using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |      diff -r 471f378eab4c -r eb5a0daa2192 changeset-description
+  | |      --- a/changeset-description
+  | |      +++ b/changeset-description
+  | |      @@ -1,1 +1,1 @@
+  | |      -A0
+  | |      +C0
+  | |
+  | |      diff -r 471f378eab4c -r eb5a0daa2192 B0
+  | |      --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+  | |      +++ b/B0	Thu Jan 01 00:00:00 1970 +0000
+  | |      @@ -0,0 +1,1 @@
+  | |      +B0
+  | |
+  | |    rewritten(description, parent, content) from b7ea6d14e664 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |      (No patch available, changesets rebased)
   | |
   x |  471f378eab4c (1) A0
    /
@@ -215,7 +243,7 @@
                   "users": [
                       "test"
                   ],
-                  "verb": "folded"
+                  "verb": "rewritten"
               }
           ],
           "node": "b7ea6d14e664bdc8922221f7992631b50da3fb07",
@@ -270,7 +298,7 @@
                   "users": [
                       "test"
                   ],
-                  "verb": "folded"
+                  "verb": "rewritten"
               }
           ],
           "node": "471f378eab4c5e25f6c77f785b27c936efb22874",
@@ -286,7 +314,25 @@
                       [
                           *, (glob)
                           0
-                      ],
+                      ]
+                  ],
+                  "effects": [
+                      "description",
+                      "content"
+                  ],
+                  "operations": [
+                      "fold"
+                  ],
+                  "prednodes": [
+                      "471f378eab4c5e25f6c77f785b27c936efb22874"
+                  ],
+                  "users": [
+                      "test"
+                  ],
+                  "verb": "rewritten"
+              },
+              {
+                  "dates": [
                       [
                           *, (glob)
                           0
@@ -301,13 +347,12 @@
                       "fold"
                   ],
                   "prednodes": [
-                      "471f378eab4c5e25f6c77f785b27c936efb22874",
                       "b7ea6d14e664bdc8922221f7992631b50da3fb07"
                   ],
                   "users": [
                       "test"
                   ],
-                  "verb": "folded"
+                  "verb": "rewritten"
               }
           ],
           "node": "eb5a0daa21923bbf8caeb2c42085b9e463861fd0",
--- a/tests/test-evolve-obshistory-amend.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-evolve-obshistory-amend.t	Sat Oct 31 20:02:03 2020 +0800
@@ -5,12 +5,6 @@
 
   $ . $TESTDIR/testlib/obshistory_setup.sh
 
-  $ cat >> $HGRCPATH << EOF
-  > [templates]
-  > logdates = '{ifeq(min(dates), max(dates), "at {max(dates)|hgdate}", "between {min(dates)|hgdate} and {max(dates)|hgdate}")}'
-  > logmarkers = '{if(markers, join(markers % "{logdates} by {users} "))}'
-  > EOF
-
 Test output on amended commit
 =============================
 
@@ -133,24 +127,24 @@
   x  471f378eab4c A0
   
 
-  $ hg obslog 4ae3a4151de9 --graph --no-origin -T '{desc|firstline} {logmarkers}'
+  $ hg obslog 4ae3a4151de9 --graph --no-origin -T'{label("log.summary", desc|firstline)} {if(markers, join(markers % "at {date|hgdate} by {users} ", " also "))}'
   @  A1
   |
   x  A0 at 0 0 by test
   
-  $ hg obslog 4ae3a4151de9 --graph -T '{desc|firstline} {logmarkers}'
+  $ hg obslog 4ae3a4151de9 --graph -T'{label("log.summary", desc|firstline)} {if(markers, join(markers % "at {date|hgdate} by {users} ", " also "))}'
   @  A1 at 0 0 by test
   |
   x  A0
   
 
 Check that the same thing works with the old {shortdescription} form
-  $ hg obslog 4ae3a4151de9 --graph --no-origin -T '{shortdescription} {logmarkers}'
+  $ hg obslog 4ae3a4151de9 --graph --no-origin -T'{label("log.summary", shortdescription)} {if(markers, join(markers % "at {date|hgdate} by {users} ", " also "))}'
   @  A1
   |
   x  A0 at 0 0 by test
   
-  $ hg obslog 4ae3a4151de9 --graph -T '{shortdescription} {logmarkers}'
+  $ hg obslog 4ae3a4151de9 --graph -T'{label("log.summary", shortdescription)} {if(markers, join(markers % "at {date|hgdate} by {users} ", " also "))}'
   @  A1 at 0 0 by test
   |
   x  A0
--- a/tests/test-evolve-obshistory-complex.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-evolve-obshistory-complex.t	Sat Oct 31 20:02:03 2020 +0800
@@ -70,7 +70,9 @@
   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)
+  |\     rewritten(description, content) from 0da815c333f6 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |      note: folding changesets to test
+  | |    rewritten(description, parent, content) from d9f908fde1a1 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   | |      note: folding changesets to test
   | |
   x |  0da815c333f6 (5) E
@@ -102,25 +104,25 @@
   x | |  changeset:   4:868d2e0eb19c
   | | |  user:        test
   | | |  date:        Thu Jan 01 00:00:00 1970 +0000
-  | | |  obsolete:    folded using fold as 8:d15d0ffc75f6
+  | | |  obsolete:    rewritten using fold as 8:d15d0ffc75f6
   | | |  summary:     D
   | | |
   x | |  changeset:   3:a8df460dbbfe
   |/ /   user:        test
   | |    date:        Thu Jan 01 00:00:00 1970 +0000
-  | |    obsolete:    folded using fold as 8:d15d0ffc75f6
+  | |    obsolete:    rewritten using fold as 8:d15d0ffc75f6
   | |    summary:     C
   | |
   x |  changeset:   2:c473644ee0e9
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
-  | |  obsolete:    folded using fold as 7:b868bc49b0a4
+  | |  obsolete:    rewritten using fold as 7:b868bc49b0a4
   | |  summary:     B
   | |
   x |  changeset:   1:2a34000d3544
   |/   user:        test
   |    date:        Thu Jan 01 00:00:00 1970 +0000
-  |    obsolete:    folded using fold as 7:b868bc49b0a4
+  |    obsolete:    rewritten using fold as 7:b868bc49b0a4
   |    summary:     A
   |
   o  changeset:   0:ea207398892e
@@ -381,7 +383,8 @@
   | |    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)
+  |\ \     rewritten(description, parent, content) from 868d2e0eb19c using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | | |    rewritten(description, content) from 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)
@@ -391,7 +394,8 @@
   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)
+  |\     rewritten(description, content) from 2a34000d3544 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten(description, parent, content) from c473644ee0e9 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   x |  2a34000d3544 (1) A
    /
@@ -408,19 +412,19 @@
   | | |    rewritten(description, parent, content) as 7b3290f6e0a0 using prune 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)
+   / /     rewritten(description, parent, content) as d15d0ffc75f6 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   x |  a8df460dbbfe (3) C
-   /     folded(description, content) as d15d0ffc75f6 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+   /     rewritten(description, content) as d15d0ffc75f6 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x    b868bc49b0a4 (7) fold0
   |\     split(parent, content) as 19e14c8397fc, e036916b63ea using split by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   x |  2a34000d3544 (1) A
-   /     folded(description, content) as b868bc49b0a4 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+   /     rewritten(description, content) as b868bc49b0a4 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)
+       rewritten(description, parent, content) as b868bc49b0a4 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   
 While with all option, we should see 15 changesets
 
@@ -441,7 +445,9 @@
   | | | | |      note: this is a note stored in obsmarker in prune
   | | | | |
   | | | x |    100cc25b765f (9) fold2
-  | | | |\ \     folded(description, parent, content) from 0da815c333f6, d9f908fde1a1 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | | | |\ \     rewritten(description, content) from 0da815c333f6 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | | | | | |      note: folding changesets to test
+  | | | | | |    rewritten(description, parent, content) from d9f908fde1a1 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   | | | | | |      note: folding changesets to test
   | | | | | |
   | +-------x  d0f33db50670 (13) fold1
@@ -453,10 +459,12 @@
   | | x /  0da815c333f6 (5) E
   | |  /
   x | |    b868bc49b0a4 (7) fold0
-  |\ \ \     folded(description, parent, content) from 2a34000d3544, c473644ee0e9 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  |\ \ \     rewritten(description, content) from 2a34000d3544 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | | | |    rewritten(description, parent, content) from c473644ee0e9 using fold 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)
+  | | |\ \     rewritten(description, parent, content) from 868d2e0eb19c using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | | | | |    rewritten(description, content) from a8df460dbbfe using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   | | | | |
   | | | | x  d9f908fde1a1 (6) F
   | | | |
--- a/tests/test-evolve-obshistory-fold.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-evolve-obshistory-fold.t	Sat Oct 31 20:02:03 2020 +0800
@@ -49,13 +49,13 @@
   | x  changeset:   2:0dec01379d3b
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
-  | |  obsolete:    folded using fold as 3:eb5a0daa2192
+  | |  obsolete:    rewritten using fold as 3:eb5a0daa2192
   | |  summary:     B0
   | |
   | x  changeset:   1:471f378eab4c
   |/   user:        test
   |    date:        Thu Jan 01 00:00:00 1970 +0000
-  |    obsolete:    folded using fold as 3:eb5a0daa2192
+  |    obsolete:    rewritten using fold as 3:eb5a0daa2192
   |    summary:     A0
   |
   o  changeset:   0:ea207398892e
@@ -72,7 +72,7 @@
 target
   $ 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)
+       rewritten(description, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
          diff -r 471f378eab4c -r eb5a0daa2192 changeset-description
          --- a/changeset-description
          +++ b/changeset-description
@@ -92,11 +92,11 @@
   @    eb5a0daa2192 (3) C0
   |\
   x |  0dec01379d3b (2) B0
-   /     folded(description, parent, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+   /     rewritten(description, parent, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   |        (No patch available, changesets rebased)
   |
   x  471f378eab4c (1) A0
-       folded(description, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
          diff -r 471f378eab4c -r eb5a0daa2192 changeset-description
          --- a/changeset-description
          +++ b/changeset-description
@@ -115,7 +115,7 @@
 the target
   $ 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)
+       rewritten(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
@@ -123,11 +123,11 @@
   @    eb5a0daa2192 (3) C0
   |\
   x |  0dec01379d3b (2) B0
-   /     folded(description, parent, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+   /     rewritten(description, parent, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   |        (No patch available, changesets rebased)
   |
   x  471f378eab4c (1) A0
-       folded(description, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
          diff -r 471f378eab4c -r eb5a0daa2192 changeset-description
          --- a/changeset-description
          +++ b/changeset-description
@@ -147,11 +147,11 @@
   @    eb5a0daa2192 (3) C0
   |\
   x |  0dec01379d3b (2) B0
-   /     folded(description, parent, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+   /     rewritten(description, parent, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   |        (No patch available, changesets rebased)
   |
   x  471f378eab4c (1) A0
-       folded(description, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
          diff -r 471f378eab4c -r eb5a0daa2192 changeset-description
          --- a/changeset-description
          +++ b/changeset-description
@@ -195,7 +195,7 @@
                   "users": [
                       "test"
                   ],
-                  "verb": "folded"
+                  "verb": "rewritten"
               }
           ],
           "node": "471f378eab4c5e25f6c77f785b27c936efb22874",
@@ -224,7 +224,7 @@
                   "users": [
                       "test"
                   ],
-                  "verb": "folded"
+                  "verb": "rewritten"
               }
           ],
           "node": "0dec01379d3be6318c470ead31b1fe7ae7cb53d5",
@@ -234,8 +234,22 @@
 
   $ 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))
+  |\     rewritten(description, parent, content) from 0dec01379d3b using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |      (No patch available, changesets rebased)
+  | |    rewritten(description, content) from 471f378eab4c using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |      diff -r 471f378eab4c -r eb5a0daa2192 changeset-description
+  | |      --- a/changeset-description
+  | |      +++ b/changeset-description
+  | |      @@ -1,1 +1,1 @@
+  | |      -A0
+  | |      +C0
+  | |
+  | |      diff -r 471f378eab4c -r eb5a0daa2192 B0
+  | |      --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+  | |      +++ b/B0	Thu Jan 01 00:00:00 1970 +0000
+  | |      @@ -0,0 +1,1 @@
+  | |      +B0
+  | |
   | |
   x |  0dec01379d3b (2) B0
    /
@@ -250,10 +264,6 @@
                       [
                           *, (glob)
                           0
-                      ],
-                      [
-                          *, (glob)
-                          0
                       ]
                   ],
                   "effects": [
@@ -265,13 +275,34 @@
                       "fold"
                   ],
                   "prednodes": [
-                      "0dec01379d3be6318c470ead31b1fe7ae7cb53d5",
+                      "0dec01379d3be6318c470ead31b1fe7ae7cb53d5"
+                  ],
+                  "users": [
+                      "test"
+                  ],
+                  "verb": "rewritten"
+              },
+              {
+                  "dates": [
+                      [
+                          *, (glob)
+                          0
+                      ]
+                  ],
+                  "effects": [
+                      "description",
+                      "content"
+                  ],
+                  "operations": [
+                      "fold"
+                  ],
+                  "prednodes": [
                       "471f378eab4c5e25f6c77f785b27c936efb22874"
                   ],
                   "users": [
                       "test"
                   ],
-                  "verb": "folded"
+                  "verb": "rewritten"
               }
           ],
           "node": "eb5a0daa21923bbf8caeb2c42085b9e463861fd0",
@@ -316,11 +347,11 @@
   o    eb5a0daa2192 (2) C0
   |\
   x |  0dec01379d3b
-   /     folded(description, parent, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+   /     rewritten(description, parent, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   |        (No patch available, context is not local)
   |
   x  471f378eab4c (1) A0
-       folded(description, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
          diff -r 471f378eab4c -r eb5a0daa2192 changeset-description
          --- a/changeset-description
          +++ b/changeset-description
@@ -339,7 +370,7 @@
   o  eb5a0daa2192 (2) C0
   |
   x  471f378eab4c (1) A0
-       folded(description, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
          diff -r 471f378eab4c -r eb5a0daa2192 changeset-description
          --- a/changeset-description
          +++ b/changeset-description
@@ -359,11 +390,11 @@
   o    eb5a0daa2192 (2) C0
   |\
   x |  0dec01379d3b
-   /     folded(description, parent, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+   /     rewritten(description, parent, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   |        (No patch available, context is not local)
   |
   x  471f378eab4c (1) A0
-       folded(description, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
          diff -r 471f378eab4c -r eb5a0daa2192 changeset-description
          --- a/changeset-description
          +++ b/changeset-description
@@ -382,7 +413,7 @@
   o  eb5a0daa2192 (2) C0
   |
   x  471f378eab4c (1) A0
-       folded(description, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+       rewritten(description, content) as eb5a0daa2192 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
          diff -r 471f378eab4c -r eb5a0daa2192 changeset-description
          --- a/changeset-description
          +++ b/changeset-description
--- a/tests/test-evolve-obshistory.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-evolve-obshistory.t	Sat Oct 31 20:02:03 2020 +0800
@@ -150,7 +150,7 @@
   added 1 changesets with 0 changes to 1 files (+1 heads)
   2 new obsolescence markers
   obsoleted 1 changesets
-  new changesets 7a230b46bf61 (1 drafts)
+  new changesets 7a230b46bf61
   (run 'hg heads' to see heads, 'hg merge' to merge)
   working directory parent is obsolete! (471f378eab4c)
   (use 'hg evolve' to update to its successor: 7a230b46bf61)
--- a/tests/test-evolve-phase-divergence.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-evolve-phase-divergence.t	Sat Oct 31 20:02:03 2020 +0800
@@ -89,7 +89,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 4d1169d82e47 (1 drafts)
+  new changesets 4d1169d82e47
   (run 'hg update' to get a working copy)
 
   $ hg glog
@@ -270,7 +270,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets aa071e5554e3 (1 drafts)
+  new changesets aa071e5554e3
   (run 'hg update' to get a working copy)
 
   $ hg push ../public
@@ -431,7 +431,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets b756eb10ea73 (1 drafts)
+  new changesets b756eb10ea73
   1 local changesets published
   (run 'hg update' to get a working copy)
 
@@ -563,7 +563,7 @@
   adding file changes
   added 2 changesets with 2 changes to 2 files
   2 new obsolescence markers
-  new changesets 502e73736632:2352021b3785 (1 drafts)
+  new changesets 502e73736632:2352021b3785
   (run 'hg update' to get a working copy)
   $ hg push ../public
   pushing to ../public
--- a/tests/test-evolve-public-content-divergent-corner-cases.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-evolve-public-content-divergent-corner-cases.t	Sat Oct 31 20:02:03 2020 +0800
@@ -421,8 +421,7 @@
 
   $ hg evolve --continue
   evolving 4:e568fd1029bb "added c e"
-  file 'd' was deleted in other but was modified in local.
-  What do you want to do?
+  local changed d which other deleted
   use (c)hanged version, (d)elete, or leave (u)nresolved? u
   1 files updated, 0 files merged, 0 files removed, 1 files unresolved
   unresolved merge conflicts
--- a/tests/test-evolve-serveronly-bundle2.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-evolve-serveronly-bundle2.t	Sat Oct 31 20:02:03 2020 +0800
@@ -72,7 +72,7 @@
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
-  new changesets 8685c6d34325:4957bfdac07e (2 drafts)
+  new changesets 8685c6d34325:4957bfdac07e
   (run 'hg update' to get a working copy)
   $ cat ../errors.log
   $ hg push -R ../other
@@ -130,7 +130,7 @@
   added 1 changesets with 1 changes to [12] files \(\+1 heads\) (re)
   1 new obsolescence markers
   obsoleted 1 changesets
-  new changesets 9d1c114e7797 (1 drafts)
+  new changesets 9d1c114e7797
   (run 'hg heads' to see heads)
   $ cat ../errors.log
   $ hg -R ../other pull
--- a/tests/test-evolve-templates.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-evolve-templates.t	Sat Oct 31 20:02:03 2020 +0800
@@ -478,13 +478,13 @@
   | x  changeset:   2:0dec01379d3b
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
-  | |  obsolete:    folded using fold as 3:eb5a0daa2192
+  | |  obsolete:    rewritten using fold as 3:eb5a0daa2192
   | |  summary:     B0
   | |
   | x  changeset:   1:471f378eab4c
   |/   user:        test
   |    date:        Thu Jan 01 00:00:00 1970 +0000
-  |    obsolete:    folded using fold as 3:eb5a0daa2192
+  |    obsolete:    rewritten using fold as 3:eb5a0daa2192
   |    summary:     A0
   |
   o  changeset:   0:ea207398892e
@@ -507,21 +507,21 @@
   o  eb5a0daa2192
   |    Predecessors: 1:471f378eab4c
   |    semi-colon: 1:471f378eab4c
-  |    Origin: folded using fold from 1:471f378eab4c
+  |    Origin: rewritten using fold from 1:471f378eab4c
   |
   | @  471f378eab4c
   |/     Successors: 3:eb5a0daa2192
   |      semi-colon: 3:eb5a0daa2192
-  |      Fate: folded using fold as 3:eb5a0daa2192
+  |      Fate: rewritten using fold as 3:eb5a0daa2192
   |
   o  ea207398892e
   
   $ hg fateoriginlog
   o  eb5a0daa2192
-  |    Obsorigin: folded using fold from 1:471f378eab4c
+  |    Obsorigin: rewritten using fold from 1:471f378eab4c
   |
   | @  471f378eab4c
-  |/     Obsfate: folded using fold as 3:eb5a0daa2192
+  |/     Obsfate: rewritten using fold as 3:eb5a0daa2192
   |
   o  ea207398892e
   
@@ -538,29 +538,30 @@
   o  eb5a0daa2192
   |    Predecessors: 2:0dec01379d3b 1:471f378eab4c
   |    semi-colon: 2:0dec01379d3b; 1:471f378eab4c
-  |    Origin: folded using fold from 1:471f378eab4c, 2:0dec01379d3b
+  |    Origin: rewritten using fold from 2:0dec01379d3b
+  |    Origin: rewritten using fold from 1:471f378eab4c
   |
   | @  0dec01379d3b
   | |    Successors: 3:eb5a0daa2192
   | |    semi-colon: 3:eb5a0daa2192
-  | |    Fate: folded using fold as 3:eb5a0daa2192
+  | |    Fate: rewritten using fold as 3:eb5a0daa2192
   | |
   | x  471f378eab4c
   |/     Successors: 3:eb5a0daa2192
   |      semi-colon: 3:eb5a0daa2192
-  |      Fate: folded using fold as 3:eb5a0daa2192
+  |      Fate: rewritten using fold as 3:eb5a0daa2192
   |
   o  ea207398892e
   
   $ hg fateoriginlog
   o  eb5a0daa2192
-  |    Obsorigin: folded using fold from 1:471f378eab4c, 2:0dec01379d3b
+  |    Obsorigin: rewritten using fold from 2:0dec01379d3b; rewritten using fold from 1:471f378eab4c
   |
   | @  0dec01379d3b
-  | |    Obsfate: folded using fold as 3:eb5a0daa2192
+  | |    Obsfate: rewritten using fold as 3:eb5a0daa2192
   | |
   | x  471f378eab4c
-  |/     Obsfate: folded using fold as 3:eb5a0daa2192
+  |/     Obsfate: rewritten using fold as 3:eb5a0daa2192
   |
   o  ea207398892e
   
@@ -581,29 +582,30 @@
   @  eb5a0daa2192
   |    Predecessors: 2:0dec01379d3b 1:471f378eab4c
   |    semi-colon: 2:0dec01379d3b; 1:471f378eab4c
-  |    Origin: folded using fold from 1:471f378eab4c, 2:0dec01379d3b
+  |    Origin: rewritten using fold from 2:0dec01379d3b
+  |    Origin: rewritten using fold from 1:471f378eab4c
   |
   | x  0dec01379d3b
   | |    Successors: 3:eb5a0daa2192
   | |    semi-colon: 3:eb5a0daa2192
-  | |    Fate: folded using fold as 3:eb5a0daa2192
+  | |    Fate: rewritten using fold as 3:eb5a0daa2192
   | |
   | x  471f378eab4c
   |/     Successors: 3:eb5a0daa2192
   |      semi-colon: 3:eb5a0daa2192
-  |      Fate: folded using fold as 3:eb5a0daa2192
+  |      Fate: rewritten using fold as 3:eb5a0daa2192
   |
   o  ea207398892e
   
   $ hg fateoriginlog --hidden
   @  eb5a0daa2192
-  |    Obsorigin: folded using fold from 1:471f378eab4c, 2:0dec01379d3b
+  |    Obsorigin: rewritten using fold from 2:0dec01379d3b; rewritten using fold from 1:471f378eab4c
   |
   | x  0dec01379d3b
-  | |    Obsfate: folded using fold as 3:eb5a0daa2192
+  | |    Obsfate: rewritten using fold as 3:eb5a0daa2192
   | |
   | x  471f378eab4c
-  |/     Obsfate: folded using fold as 3:eb5a0daa2192
+  |/     Obsfate: rewritten using fold as 3:eb5a0daa2192
   |
   o  ea207398892e
   
@@ -834,7 +836,7 @@
   | |  parent:      1:471f378eab4c
   | |  user:        test
   | |  date:        Thu Jan 01 00:00:00 1970 +0000
-  | |  obsolete:    folded using fold as 4:eb5a0daa2192
+  | |  obsolete:    rewritten using fold as 4:eb5a0daa2192
   | |  summary:     B1
   | |
   | | x  changeset:   2:0dec01379d3b
@@ -846,7 +848,7 @@
   | x  changeset:   1:471f378eab4c
   |/   user:        test
   |    date:        Thu Jan 01 00:00:00 1970 +0000
-  |    obsolete:    folded using fold as 4:eb5a0daa2192
+  |    obsolete:    rewritten using fold as 4:eb5a0daa2192
   |    summary:     A0
   |
   o  changeset:   0:ea207398892e
@@ -867,21 +869,21 @@
   o  eb5a0daa2192
   |    Predecessors: 1:471f378eab4c
   |    semi-colon: 1:471f378eab4c
-  |    Origin: folded using fold from 1:471f378eab4c
+  |    Origin: rewritten using fold from 1:471f378eab4c
   |
   | @  471f378eab4c
   |/     Successors: 4:eb5a0daa2192
   |      semi-colon: 4:eb5a0daa2192
-  |      Fate: folded using fold as 4:eb5a0daa2192
+  |      Fate: rewritten using fold as 4:eb5a0daa2192
   |
   o  ea207398892e
   
   $ hg fateoriginlog
   o  eb5a0daa2192
-  |    Obsorigin: folded using fold from 1:471f378eab4c
+  |    Obsorigin: rewritten using fold from 1:471f378eab4c
   |
   | @  471f378eab4c
-  |/     Obsfate: folded using fold as 4:eb5a0daa2192
+  |/     Obsfate: rewritten using fold as 4:eb5a0daa2192
   |
   o  ea207398892e
   
@@ -895,7 +897,8 @@
   o  eb5a0daa2192
   |    Predecessors: 2:0dec01379d3b 1:471f378eab4c
   |    semi-colon: 2:0dec01379d3b; 1:471f378eab4c
-  |    Origin: folded using amend, fold from 1:471f378eab4c, 2:0dec01379d3b
+  |    Origin: rewritten using amend, fold from 2:0dec01379d3b
+  |    Origin: rewritten using fold from 1:471f378eab4c
   |
   | @  0dec01379d3b
   | |    Successors: 4:eb5a0daa2192
@@ -905,19 +908,19 @@
   | x  471f378eab4c
   |/     Successors: 4:eb5a0daa2192
   |      semi-colon: 4:eb5a0daa2192
-  |      Fate: folded using fold as 4:eb5a0daa2192
+  |      Fate: rewritten using fold as 4:eb5a0daa2192
   |
   o  ea207398892e
   
   $ hg fateoriginlog
   o  eb5a0daa2192
-  |    Obsorigin: folded using amend, fold from 1:471f378eab4c, 2:0dec01379d3b
+  |    Obsorigin: rewritten using amend, fold from 2:0dec01379d3b; rewritten using fold from 1:471f378eab4c
   |
   | @  0dec01379d3b
   | |    Obsfate: rewritten using amend, fold as 4:eb5a0daa2192
   | |
   | x  471f378eab4c
-  |/     Obsfate: folded using fold as 4:eb5a0daa2192
+  |/     Obsfate: rewritten using fold as 4:eb5a0daa2192
   |
   o  ea207398892e
   
@@ -932,29 +935,30 @@
   o  eb5a0daa2192
   |    Predecessors: 1:471f378eab4c 3:b7ea6d14e664
   |    semi-colon: 1:471f378eab4c; 3:b7ea6d14e664
-  |    Origin: folded using fold from 1:471f378eab4c, 3:b7ea6d14e664
+  |    Origin: rewritten using fold from 1:471f378eab4c
+  |    Origin: rewritten using fold from 3:b7ea6d14e664
   |
   | @  b7ea6d14e664
   | |    Successors: 4:eb5a0daa2192
   | |    semi-colon: 4:eb5a0daa2192
-  | |    Fate: folded using fold as 4:eb5a0daa2192
+  | |    Fate: rewritten using fold as 4:eb5a0daa2192
   | |
   | x  471f378eab4c
   |/     Successors: 4:eb5a0daa2192
   |      semi-colon: 4:eb5a0daa2192
-  |      Fate: folded using fold as 4:eb5a0daa2192
+  |      Fate: rewritten using fold as 4:eb5a0daa2192
   |
   o  ea207398892e
   
   $ hg fateoriginlog
   o  eb5a0daa2192
-  |    Obsorigin: folded using fold from 1:471f378eab4c, 3:b7ea6d14e664
+  |    Obsorigin: rewritten using fold from 1:471f378eab4c; rewritten using fold from 3:b7ea6d14e664
   |
   | @  b7ea6d14e664
-  | |    Obsfate: folded using fold as 4:eb5a0daa2192
+  | |    Obsfate: rewritten using fold as 4:eb5a0daa2192
   | |
   | x  471f378eab4c
-  |/     Obsfate: folded using fold as 4:eb5a0daa2192
+  |/     Obsfate: rewritten using fold as 4:eb5a0daa2192
   |
   o  ea207398892e
   
@@ -970,14 +974,15 @@
   @  eb5a0daa2192
   |    Predecessors: 1:471f378eab4c 3:b7ea6d14e664
   |    semi-colon: 1:471f378eab4c; 3:b7ea6d14e664
-  |    Origin: folded using fold from 1:471f378eab4c, 3:b7ea6d14e664
+  |    Origin: rewritten using fold from 1:471f378eab4c
+  |    Origin: rewritten using fold from 3:b7ea6d14e664
   |
   | x  b7ea6d14e664
   | |    Predecessors: 2:0dec01379d3b
   | |    semi-colon: 2:0dec01379d3b
   | |    Successors: 4:eb5a0daa2192
   | |    semi-colon: 4:eb5a0daa2192
-  | |    Fate: folded using fold as 4:eb5a0daa2192
+  | |    Fate: rewritten using fold as 4:eb5a0daa2192
   | |    Origin: reworded using amend from 2:0dec01379d3b
   | |
   | | x  0dec01379d3b
@@ -988,23 +993,23 @@
   | x  471f378eab4c
   |/     Successors: 4:eb5a0daa2192
   |      semi-colon: 4:eb5a0daa2192
-  |      Fate: folded using fold as 4:eb5a0daa2192
+  |      Fate: rewritten using fold as 4:eb5a0daa2192
   |
   o  ea207398892e
   
   $ hg fateoriginlog --hidden
   @  eb5a0daa2192
-  |    Obsorigin: folded using fold from 1:471f378eab4c, 3:b7ea6d14e664
+  |    Obsorigin: rewritten using fold from 1:471f378eab4c; rewritten using fold from 3:b7ea6d14e664
   |
   | x  b7ea6d14e664
-  | |    Obsfate: folded using fold as 4:eb5a0daa2192
+  | |    Obsfate: rewritten using fold as 4:eb5a0daa2192
   | |    Obsorigin: reworded using amend from 2:0dec01379d3b
   | |
   | | x  0dec01379d3b
   | |/     Obsfate: reworded using amend as 3:b7ea6d14e664
   | |
   | x  471f378eab4c
-  |/     Obsfate: folded using fold as 4:eb5a0daa2192
+  |/     Obsfate: rewritten using fold as 4:eb5a0daa2192
   |
   o  ea207398892e
   
@@ -1074,7 +1079,7 @@
   added 1 changesets with 0 changes to 1 files (+1 heads)
   2 new obsolescence markers
   obsoleted 1 changesets
-  new changesets 7a230b46bf61 (1 drafts)
+  new changesets 7a230b46bf61
   (run 'hg heads' to see heads, 'hg merge' to merge)
   working directory parent is obsolete! (471f378eab4c)
   (use 'hg evolve' to update to its successor: 7a230b46bf61)
@@ -1721,8 +1726,8 @@
   $ hg prune -r 'desc(C)' -s 'desc(Z)'
   1 changesets pruned
   $ hg debugobsolete
-  944ade52b6a1afe01817e7cae4c3006f1f128279 4568aafd15c0ac96a9828ce8418556bb1e76d6d7 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'fold-id': 'c59cbeaa', 'fold-idx': '1', 'fold-size': '2', 'operation': 'prune', 'user': 'test'}
-  36ca49338d3a303e90126c28b1713092aaf3e9ed 4568aafd15c0ac96a9828ce8418556bb1e76d6d7 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'fold-id': 'c59cbeaa', 'fold-idx': '2', 'fold-size': '2', 'operation': 'prune', 'user': 'test'}
+  944ade52b6a1afe01817e7cae4c3006f1f128279 4568aafd15c0ac96a9828ce8418556bb1e76d6d7 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'prune', 'user': 'test'}
+  36ca49338d3a303e90126c28b1713092aaf3e9ed 4568aafd15c0ac96a9828ce8418556bb1e76d6d7 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'prune', 'user': 'test'}
   5b3370228fe5fa9824b8df21cd54876ef23ac745 4568aafd15c0ac96a9828ce8418556bb1e76d6d7 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'prune', 'user': 'test'}
   $ hg tlog
   o  4568aafd15c0
@@ -1733,8 +1738,9 @@
   o  4568aafd15c0
   |    Predecessors: 2:36ca49338d3a 3:5b3370228fe5 1:944ade52b6a1
   |    semi-colon: 2:36ca49338d3a; 3:5b3370228fe5; 1:944ade52b6a1
-  |    Origin: folded using prune from 1:944ade52b6a1, 2:36ca49338d3a
+  |    Origin: rewritten using prune from 2:36ca49338d3a
   |    Origin: rewritten using prune from 3:5b3370228fe5
+  |    Origin: rewritten using prune from 1:944ade52b6a1
   |
   | x  5b3370228fe5
   |/     Successors: 4:4568aafd15c0
@@ -1744,12 +1750,12 @@
   | x  36ca49338d3a
   | |    Successors: 4:4568aafd15c0
   | |    semi-colon: 4:4568aafd15c0
-  | |    Fate: folded using prune as 4:4568aafd15c0
+  | |    Fate: rewritten using prune as 4:4568aafd15c0
   | |
   | x  944ade52b6a1
   |/     Successors: 4:4568aafd15c0
   |      semi-colon: 4:4568aafd15c0
-  |      Fate: folded using prune as 4:4568aafd15c0
+  |      Fate: rewritten using prune as 4:4568aafd15c0
   |
   @  7ca5bfdbe243
   
--- a/tests/test-evolve.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-evolve.t	Sat Oct 31 20:02:03 2020 +0800
@@ -378,8 +378,8 @@
   $ hg up -r "desc('a nifty feature')"
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg revert -r "desc('another feature')" --all
+  adding file-from-B
   reverting main-file-1
-  adding file-from-B
   $ sed -i'' -e s/Zwei/deux/ main-file-1
   $ hg commit -m 'another feature that rox' -o 5
   created new head
@@ -503,7 +503,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 702e4d0a6d86 (1 drafts)
+  new changesets 702e4d0a6d86
   $ cd alpha
 
   $ cat << EOF > A
@@ -536,7 +536,7 @@
   checking manifests
   crosschecking files in changesets and manifests
   checking files
-  checked 3 changesets with 3 changes to 3 files
+  3 files, 3 changesets, 3 total revisions
   $ hg --config extensions.hgext.mq= strip 'extinct()'
   abort: empty revision set
   [255]
@@ -548,7 +548,7 @@
   checking manifests
   crosschecking files in changesets and manifests
   checking files
-  checked 2 changesets with 2 changes to 2 files
+  2 files, 2 changesets, 2 total revisions
   $ cd ..
 
 Clone just this branch
@@ -562,7 +562,7 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
   1 new obsolescence markers
-  new changesets c6dda801837c (1 drafts)
+  new changesets c6dda801837c
   (run 'hg update' to get a working copy)
   $ hg up
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -761,10 +761,10 @@
   @    d26d339c513f (12) add 4
   |\
   x |  ce341209337f (4) add 4
-   /     folded(description, user, content) as d26d339c513f using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+   /     rewritten(description, user, content) as d26d339c513f using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   |
   x    cf0c3904643c (11) add 3
-  |\     folded(description, user, parent, content) as d26d339c513f using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  |\     rewritten(description, user, parent, content) as d26d339c513f using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | \
   | |\
@@ -781,17 +781,14 @@
       more than 2 successors:         0
       available  keys:
                   ef1:               10
-              fold-id:                5
-             fold-idx:                5
-            fold-size:                5
             operation:               10
                  user:               10
   marker size:
       format v1:
           smallest length:           90
-          longer length:            131
-          median length:            130
-          mean length:              110
+          longer length:             92
+          median length:             91
+          mean length:               90
       format v0:
           smallest length:          * (glob)
           longer length:            * (glob)
@@ -1153,11 +1150,55 @@
   > EOF
   $ hg next
   hg: unknown command 'next'
-  (use 'hg help' for a list of commands)
+  Mercurial Distributed SCM
+  
+  basic commands:
+  
+   add           add the specified files on the next commit
+   annotate      show changeset information by line for each file
+   clone         make a copy of an existing repository
+   commit        commit the specified files or all outstanding changes
+   diff          diff repository (or selected files)
+   export        dump the header and diffs for one or more changesets
+   forget        forget the specified files on the next commit
+   init          create a new repository in the given directory
+   log           show revision history of entire repository or files
+   merge         merge another revision into working directory
+   pull          pull changes from the specified source
+   push          push changes to the specified destination
+   remove        remove the specified files on the next commit
+   serve         start stand-alone webserver
+   status        show changed files in the working directory
+   summary       summarize working directory state
+   update        update working directory (or switch revisions)
+  
+  (use 'hg help' for the full list of commands or 'hg -v' for details)
   [255]
   $ hg fold
   hg: unknown command 'fold'
-  (use 'hg help' for a list of commands)
+  Mercurial Distributed SCM
+  
+  basic commands:
+  
+   add           add the specified files on the next commit
+   annotate      show changeset information by line for each file
+   clone         make a copy of an existing repository
+   commit        commit the specified files or all outstanding changes
+   diff          diff repository (or selected files)
+   export        dump the header and diffs for one or more changesets
+   forget        forget the specified files on the next commit
+   init          create a new repository in the given directory
+   log           show revision history of entire repository or files
+   merge         merge another revision into working directory
+   pull          pull changes from the specified source
+   push          push changes to the specified destination
+   remove        remove the specified files on the next commit
+   serve         start stand-alone webserver
+   status        show changed files in the working directory
+   summary       summarize working directory state
+   update        update working directory (or switch revisions)
+  
+  (use 'hg help' for the full list of commands or 'hg -v' for details)
   [255]
 Enabling commands selectively, only fold enabled, next is still unknown
   $ cat >> $HGRCPATH <<EOF
@@ -1170,7 +1211,30 @@
   [255]
   $ hg next
   hg: unknown command 'next'
-  (use 'hg help' for a list of commands)
+  Mercurial Distributed SCM
+  
+  basic commands:
+  
+   add           add the specified files on the next commit
+   annotate      show changeset information by line for each file
+   clone         make a copy of an existing repository
+   commit        commit the specified files or all outstanding changes
+   diff          diff repository (or selected files)
+   export        dump the header and diffs for one or more changesets
+   fold          fold multiple revisions into a single one
+   forget        forget the specified files on the next commit
+   init          create a new repository in the given directory
+   log           show revision history of entire repository or files
+   merge         merge another revision into working directory
+   pull          pull changes from the specified source
+   push          push changes to the specified destination
+   remove        remove the specified files on the next commit
+   serve         start stand-alone webserver
+   status        show changed files in the working directory
+   summary       summarize working directory state
+   update        update working directory (or switch revisions)
+  
+  (use 'hg help' for the full list of commands or 'hg -v' for details)
   [255]
 
 Shows "use 'hg evolve' to..." hints iff the evolve command is enabled
--- a/tests/test-exchange-obsmarkers-case-A1.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-exchange-obsmarkers-case-A1.t	Sat Oct 31 20:02:03 2020 +0800
@@ -113,7 +113,7 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
   1 new obsolescence markers
-  new changesets f5bc6836db60 (1 drafts)
+  new changesets f5bc6836db60
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
@@ -155,7 +155,7 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
   1 new obsolescence markers
-  new changesets f5bc6836db60 (1 drafts)
+  new changesets f5bc6836db60
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
@@ -269,7 +269,7 @@
   adding file changes
   added 2 changesets with 2 changes to 2 files
   1 new obsolescence markers
-  new changesets f5bc6836db60:f6fbb35d8ac9 (2 drafts)
+  new changesets f5bc6836db60:f6fbb35d8ac9
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
@@ -311,7 +311,7 @@
   adding file changes
   added 2 changesets with 2 changes to 2 files
   1 new obsolescence markers
-  new changesets f5bc6836db60:f6fbb35d8ac9 (2 drafts)
+  new changesets f5bc6836db60:f6fbb35d8ac9
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
--- a/tests/test-exchange-obsmarkers-case-A2.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-exchange-obsmarkers-case-A2.t	Sat Oct 31 20:02:03 2020 +0800
@@ -124,7 +124,7 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
   1 new obsolescence markers
-  new changesets f5bc6836db60 (1 drafts)
+  new changesets f5bc6836db60
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
--- a/tests/test-exchange-obsmarkers-case-A3.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-exchange-obsmarkers-case-A3.t	Sat Oct 31 20:02:03 2020 +0800
@@ -146,7 +146,7 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
   1 new obsolescence markers
-  new changesets e5ea8f9c7314 (1 drafts)
+  new changesets e5ea8f9c7314
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
@@ -268,7 +268,7 @@
   1 new obsolescence markers
   obsoleted 1 changesets
   1 new orphan changesets
-  new changesets e5ea8f9c7314 (1 drafts)
+  new changesets e5ea8f9c7314
   (run 'hg heads' to see heads, 'hg merge' to merge)
   ## post pull state
   # obstore: main
--- a/tests/test-exchange-obsmarkers-case-A4.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-exchange-obsmarkers-case-A4.t	Sat Oct 31 20:02:03 2020 +0800
@@ -134,7 +134,7 @@
   adding file changes
   added 2 changesets with 2 changes to 2 files
   1 new obsolescence markers
-  new changesets 28b51eb45704:06055a7959d4 (2 drafts)
+  new changesets 28b51eb45704:06055a7959d4
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
--- a/tests/test-exchange-obsmarkers-case-A5.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-exchange-obsmarkers-case-A5.t	Sat Oct 31 20:02:03 2020 +0800
@@ -141,7 +141,7 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
   1 new obsolescence markers
-  new changesets f6298a8ac3a4 (1 drafts)
+  new changesets f6298a8ac3a4
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
--- a/tests/test-exchange-obsmarkers-case-B3.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-exchange-obsmarkers-case-B3.t	Sat Oct 31 20:02:03 2020 +0800
@@ -120,7 +120,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets f5bc6836db60 (1 drafts)
+  new changesets f5bc6836db60
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
--- a/tests/test-exchange-obsmarkers-case-B5.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-exchange-obsmarkers-case-B5.t	Sat Oct 31 20:02:03 2020 +0800
@@ -158,7 +158,7 @@
   adding file changes
   added 3 changesets with 3 changes to 3 files
   1 new obsolescence markers
-  new changesets 28b51eb45704:1d0f3cd25300 (3 drafts)
+  new changesets 28b51eb45704:1d0f3cd25300
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
--- a/tests/test-exchange-obsmarkers-case-C2.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-exchange-obsmarkers-case-C2.t	Sat Oct 31 20:02:03 2020 +0800
@@ -131,7 +131,7 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
   2 new obsolescence markers
-  new changesets e5ea8f9c7314 (1 drafts)
+  new changesets e5ea8f9c7314
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
@@ -179,7 +179,7 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
   2 new obsolescence markers
-  new changesets e5ea8f9c7314 (1 drafts)
+  new changesets e5ea8f9c7314
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
--- a/tests/test-exchange-obsmarkers-case-D1.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-exchange-obsmarkers-case-D1.t	Sat Oct 31 20:02:03 2020 +0800
@@ -128,7 +128,7 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
   2 new obsolescence markers
-  new changesets e5ea8f9c7314 (1 drafts)
+  new changesets e5ea8f9c7314
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
@@ -176,7 +176,7 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
   2 new obsolescence markers
-  new changesets e5ea8f9c7314 (1 drafts)
+  new changesets e5ea8f9c7314
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
--- a/tests/test-exchange-obsmarkers-case-D4.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-exchange-obsmarkers-case-D4.t	Sat Oct 31 20:02:03 2020 +0800
@@ -141,7 +141,7 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
   2 new obsolescence markers
-  new changesets e5ea8f9c7314 (1 drafts)
+  new changesets e5ea8f9c7314
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
--- a/tests/test-fold.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-fold.t	Sat Oct 31 20:02:03 2020 +0800
@@ -96,9 +96,9 @@
   3 changesets folded
   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ hg debugobsolete -r 'desc("r5")' --exclusive
-  4de32a90b66cd083ebf3c00b41277aa7abca51dd 198b5c405d01a50c41a81a00fc61677b81981a5f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '37', 'fold-id': '25cb328e', 'fold-idx': '3', 'fold-size': '3', 'operation': 'fold', 'user': 'test'}
-  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'}
+  4de32a90b66cd083ebf3c00b41277aa7abca51dd 198b5c405d01a50c41a81a00fc61677b81981a5f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '37', 'operation': 'fold', 'user': 'test'}
+  c8d03c1b5e94af74b772900c58259d2e08917735 198b5c405d01a50c41a81a00fc61677b81981a5f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '33', 'operation': 'fold', 'user': 'test'}
+  f69452c5b1af6cbaaa56ef50cf94fff5bcc6ca23 198b5c405d01a50c41a81a00fc61677b81981a5f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '37', 'operation': 'fold', 'user': 'test'}
 
   $ hg obslog --no-origin
   @    198b5c405d01 (11) r5
@@ -106,17 +106,19 @@
   | \
   | |\
   x | |  4de32a90b66c (7) r7
-   / /     folded(description, date, parent) as 198b5c405d01 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+   / /     rewritten(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)
+   /     rewritten(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)
+       rewritten(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)
+  |\     rewritten(description, date, parent) from 4de32a90b66c using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten(description, date) from c8d03c1b5e94 using fold by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten(description, date, parent) from f69452c5b1af using fold by test (Thu Jan 01 00:00:00 1970 +0000)
   | |
   | \
   | |\
--- a/tests/test-metaedit.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-metaedit.t	Sat Oct 31 20:02:03 2020 +0800
@@ -137,17 +137,17 @@
   $ hg debugobsolete
   e2abbe8ca2ec6ffca6fd7a19d4158c58ff461723 f3d001339afd30d27fcd91e713274a78233528c8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'amend', 'user': 'test'}
   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'}
+  c2bd843aa2468b30bb56d69d4f5fef95b85986f2 a08d35fd7d9d0f8cb33d5bd2074e9bafb5cbc70f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'note': 'folding changesets using metaedit', 'operation': 'metaedit', 'user': 'test'}
+  212b2a2b87cdbae992f001e9baba64db389fbce7 a08d35fd7d9d0f8cb33d5bd2074e9bafb5cbc70f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '29', 'note': 'folding changesets using metaedit', 'operation': 'metaedit', 'user': 'test'}
   $ hg obslog -r . --no-origin
   @    a08d35fd7d9d (9) E
   |\
   x |  212b2a2b87cd (8) F
-  | |    folded(description, user, parent, content) as a08d35fd7d9d using metaedit by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |    rewritten(description, user, parent, content) as a08d35fd7d9d using metaedit by test (Thu Jan 01 00:00:00 1970 +0000)
   | |      note: folding changesets using metaedit
   | |
   | x  c2bd843aa246 (6) E
-  |      folded(description, content) as a08d35fd7d9d using metaedit by test (Thu Jan 01 00:00:00 1970 +0000)
+  |      rewritten(description, content) as a08d35fd7d9d using metaedit by test (Thu Jan 01 00:00:00 1970 +0000)
   |        note: folding changesets using metaedit
   |
   x  587528abfffe (7) F
@@ -155,7 +155,9 @@
   
   $ 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)
+  |\     rewritten(description, user, parent, content) from 212b2a2b87cd using metaedit by test (Thu Jan 01 00:00:00 1970 +0000)
+  | |      note: folding changesets using metaedit
+  | |    rewritten(description, content) from c2bd843aa246 using metaedit by test (Thu Jan 01 00:00:00 1970 +0000)
   | |      note: folding changesets using metaedit
   | |
   x |  212b2a2b87cd (8) F
@@ -166,8 +168,8 @@
   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'}
+  212b2a2b87cdbae992f001e9baba64db389fbce7 a08d35fd7d9d0f8cb33d5bd2074e9bafb5cbc70f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '29', 'note': 'folding changesets using metaedit', 'operation': 'metaedit', 'user': 'test'}
+  c2bd843aa2468b30bb56d69d4f5fef95b85986f2 a08d35fd7d9d0f8cb33d5bd2074e9bafb5cbc70f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'note': 'folding changesets using metaedit', 'operation': 'metaedit', 'user': 'test'}
 
 no new commit is created here because the date is the same
   $ HGEDITOR=cat hg metaedit
--- a/tests/test-obsolete.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-obsolete.t	Sat Oct 31 20:02:03 2020 +0800
@@ -194,7 +194,7 @@
   checking manifests
   crosschecking files in changesets and manifests
   checking files
-  checked 5 changesets with 5 changes to 5 files
+  5 files, 5 changesets, 5 total revisions
   $ qlog -R ../other-new -r 'obsolete()'
   2
   - 0d3f46688ccc
@@ -284,7 +284,7 @@
   added 1 changesets with 1 changes to [12] files \(\+1 heads\) (re)
   1 new obsolescence markers
   obsoleted 1 changesets
-  new changesets 909a0fb57e5d (1 drafts)
+  new changesets 909a0fb57e5d
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ qlog -R ../other-new
   6
@@ -377,7 +377,7 @@
   added 1 changesets with 1 changes to [12] files \(\+1 heads\) (re)
   1 new obsolescence markers
   obsoleted 1 changesets
-  new changesets 159dfc9fa5d3 (1 drafts)
+  new changesets 159dfc9fa5d3
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
   $ hg up -q 7 # to check rollback update behavior
--- a/tests/test-options.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-options.t	Sat Oct 31 20:02:03 2020 +0800
@@ -26,4 +26,5 @@
   > EOF
   $ hg prune | head -n 2
   hg: unknown command 'prune'
-  (use 'hg help' for a list of commands)
+  Mercurial Distributed SCM
+  
--- a/tests/test-pick.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-pick.t	Sat Oct 31 20:02:03 2020 +0800
@@ -33,10 +33,10 @@
   
   options:
   
-   -r --rev REV   revision to pick
-   -c --continue  continue interrupted pick
-   -a --abort     abort interrupted pick
-   -t --tool TOOL specify merge tool
+   -r --rev REV    revision to pick
+   -c --continue   continue interrupted pick
+   -a --abort      abort interrupted pick
+   -t --tool VALUE specify merge tool
   
   (some details hidden, use --verbose to show complete help)
 
--- a/tests/test-prev-next.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-prev-next.t	Sat Oct 31 20:02:03 2020 +0800
@@ -469,8 +469,7 @@
   (do you want --merge?)
   [255]
   $ hg prev --merge --config commands.update.check=abort
-  file 'bar' was deleted in other [destination] but was modified in local [working copy].
-  What do you want to do?
+  local [working copy] changed bar which other [destination] deleted
   use (c)hanged version, (d)elete, or leave (u)nresolved? 
   0 files updated, 0 files merged, 0 files removed, 1 files unresolved
   use 'hg resolve' to retry unresolved file merges
--- a/tests/test-prune.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-prune.t	Sat Oct 31 20:02:03 2020 +0800
@@ -226,8 +226,8 @@
   47d2a3944de8b013de3be9578e8e344ea2e6c097 0 {4538525df7e2b9f09423636c61ef63a4cb872a2d} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
   bb5e90a7ea1f3b4b38b23150a4a597b6146d70ef 6e8148413dd541855b72a920a90c06fca127c7e7 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'prune', 'user': 'test'}
   00ded550b1e28bba454bd34cec1269d22cf3ef25 aa96dc3f04c2c2341fe6880aeb6dc9fbffff9ef9 8ee176ff1d4b2034ce51e3efc579c2de346b631d 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'prune', 'user': 'test'}
-  814c38b95e72dfe2cbf675b1649ea9d780c89a80 6f6f25e4f748d8f7571777e6e168aedf50350ce8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'fold-id': '691ebcba', 'fold-idx': '1', 'fold-size': '2', 'operation': 'prune', 'user': 'test'}
-  354011cd103f58bbbd9091a3cee6d6a6bd0dddf7 6f6f25e4f748d8f7571777e6e168aedf50350ce8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'fold-id': '691ebcba', 'fold-idx': '2', 'fold-size': '2', 'operation': 'prune', 'user': 'test'}
+  814c38b95e72dfe2cbf675b1649ea9d780c89a80 6f6f25e4f748d8f7571777e6e168aedf50350ce8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'prune', 'user': 'test'}
+  354011cd103f58bbbd9091a3cee6d6a6bd0dddf7 6f6f25e4f748d8f7571777e6e168aedf50350ce8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'prune', 'user': 'test'}
 
 two old, two new with --pair (also test bookmark move)
 
@@ -249,8 +249,8 @@
   47d2a3944de8b013de3be9578e8e344ea2e6c097 0 {4538525df7e2b9f09423636c61ef63a4cb872a2d} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
   bb5e90a7ea1f3b4b38b23150a4a597b6146d70ef 6e8148413dd541855b72a920a90c06fca127c7e7 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'prune', 'user': 'test'}
   00ded550b1e28bba454bd34cec1269d22cf3ef25 aa96dc3f04c2c2341fe6880aeb6dc9fbffff9ef9 8ee176ff1d4b2034ce51e3efc579c2de346b631d 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'prune', 'user': 'test'}
-  814c38b95e72dfe2cbf675b1649ea9d780c89a80 6f6f25e4f748d8f7571777e6e168aedf50350ce8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'fold-id': '691ebcba', 'fold-idx': '1', 'fold-size': '2', 'operation': 'prune', 'user': 'test'}
-  354011cd103f58bbbd9091a3cee6d6a6bd0dddf7 6f6f25e4f748d8f7571777e6e168aedf50350ce8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'fold-id': '691ebcba', 'fold-idx': '2', 'fold-size': '2', 'operation': 'prune', 'user': 'test'}
+  814c38b95e72dfe2cbf675b1649ea9d780c89a80 6f6f25e4f748d8f7571777e6e168aedf50350ce8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'prune', 'user': 'test'}
+  354011cd103f58bbbd9091a3cee6d6a6bd0dddf7 6f6f25e4f748d8f7571777e6e168aedf50350ce8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'prune', 'user': 'test'}
   cb7f8f706a6532967b98cf8583a81baab79a0fa7 8ee176ff1d4b2034ce51e3efc579c2de346b631d 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'prune', 'user': 'test'}
   21b6f2f1cece8c10326e575dd38239189d467190 6e8148413dd541855b72a920a90c06fca127c7e7 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'prune', 'user': 'test'}
   $ hg log --hidden -r 'desc("add n2") + desc("add nE") + bookmark("prune-pair-book")'
--- a/tests/test-push-checkheads-partial-C1.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-push-checkheads-partial-C1.t	Sat Oct 31 20:02:03 2020 +0800
@@ -51,7 +51,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533 (1 drafts)
+  new changesets d73caddc5533
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
--- a/tests/test-push-checkheads-partial-C2.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-push-checkheads-partial-C2.t	Sat Oct 31 20:02:03 2020 +0800
@@ -53,7 +53,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533 (1 drafts)
+  new changesets d73caddc5533
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
--- a/tests/test-push-checkheads-partial-C3.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-push-checkheads-partial-C3.t	Sat Oct 31 20:02:03 2020 +0800
@@ -53,7 +53,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533 (1 drafts)
+  new changesets d73caddc5533
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
--- a/tests/test-push-checkheads-partial-C4.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-push-checkheads-partial-C4.t	Sat Oct 31 20:02:03 2020 +0800
@@ -53,7 +53,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533 (1 drafts)
+  new changesets d73caddc5533
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
--- a/tests/test-push-checkheads-pruned-B2.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-push-checkheads-pruned-B2.t	Sat Oct 31 20:02:03 2020 +0800
@@ -53,7 +53,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533 (1 drafts)
+  new changesets d73caddc5533
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
--- a/tests/test-push-checkheads-pruned-B3.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-push-checkheads-pruned-B3.t	Sat Oct 31 20:02:03 2020 +0800
@@ -53,7 +53,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533 (1 drafts)
+  new changesets d73caddc5533
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
--- a/tests/test-push-checkheads-pruned-B4.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-push-checkheads-pruned-B4.t	Sat Oct 31 20:02:03 2020 +0800
@@ -54,7 +54,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533 (1 drafts)
+  new changesets d73caddc5533
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
--- a/tests/test-push-checkheads-pruned-B5.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-push-checkheads-pruned-B5.t	Sat Oct 31 20:02:03 2020 +0800
@@ -57,7 +57,7 @@
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
-  new changesets d73caddc5533:821fb21d0dd2 (2 drafts)
+  new changesets d73caddc5533:821fb21d0dd2
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
--- a/tests/test-push-checkheads-pruned-B8.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-push-checkheads-pruned-B8.t	Sat Oct 31 20:02:03 2020 +0800
@@ -55,7 +55,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533 (1 drafts)
+  new changesets d73caddc5533
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
--- a/tests/test-push-checkheads-superceed-A2.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-push-checkheads-superceed-A2.t	Sat Oct 31 20:02:03 2020 +0800
@@ -52,7 +52,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533 (1 drafts)
+  new changesets d73caddc5533
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
--- a/tests/test-push-checkheads-superceed-A3.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-push-checkheads-superceed-A3.t	Sat Oct 31 20:02:03 2020 +0800
@@ -55,7 +55,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533 (1 drafts)
+  new changesets d73caddc5533
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
--- a/tests/test-push-checkheads-superceed-A6.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-push-checkheads-superceed-A6.t	Sat Oct 31 20:02:03 2020 +0800
@@ -59,7 +59,7 @@
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files (+1 heads)
-  new changesets d73caddc5533:0f88766e02d6 (2 drafts)
+  new changesets d73caddc5533:0f88766e02d6
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
--- a/tests/test-push-checkheads-superceed-A7.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-push-checkheads-superceed-A7.t	Sat Oct 31 20:02:03 2020 +0800
@@ -59,7 +59,7 @@
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files (+1 heads)
-  new changesets d73caddc5533:0f88766e02d6 (2 drafts)
+  new changesets d73caddc5533:0f88766e02d6
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg up 'desc(C0)'
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
--- a/tests/test-push-checkheads-unpushed-D2.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-push-checkheads-unpushed-D2.t	Sat Oct 31 20:02:03 2020 +0800
@@ -57,7 +57,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533 (1 drafts)
+  new changesets d73caddc5533
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
--- a/tests/test-push-checkheads-unpushed-D3.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-push-checkheads-unpushed-D3.t	Sat Oct 31 20:02:03 2020 +0800
@@ -56,7 +56,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533 (1 drafts)
+  new changesets d73caddc5533
   (run 'hg update' to get a working copy)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
--- a/tests/test-push-checkheads-unpushed-D4.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-push-checkheads-unpushed-D4.t	Sat Oct 31 20:02:03 2020 +0800
@@ -73,7 +73,7 @@
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files (+1 heads)
-  new changesets d73caddc5533:0f88766e02d6 (2 drafts)
+  new changesets d73caddc5533:0f88766e02d6
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg up 0
   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
--- a/tests/test-push-checkheads-unpushed-D5.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-push-checkheads-unpushed-D5.t	Sat Oct 31 20:02:03 2020 +0800
@@ -62,7 +62,7 @@
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files (+1 heads)
-  new changesets d73caddc5533:0f88766e02d6 (2 drafts)
+  new changesets d73caddc5533:0f88766e02d6
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg up 'desc(C0)'
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
--- a/tests/test-sharing.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-sharing.t	Sat Oct 31 20:02:03 2020 +0800
@@ -102,7 +102,7 @@
   added 1 changesets with 1 changes to 1 files (+1 heads)
   2 new obsolescence markers
   obsoleted 1 changesets
-  new changesets 522d503432a2 (1 drafts)
+  new changesets 522d503432a2
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   updated to "522d503432a2: fix bug 37"
   1 other heads for branch "default"
@@ -460,7 +460,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets b2be254b3b9f (1 drafts)
+  new changesets b2be254b3b9f
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ echo 'better fix (alice)' >> file1
   $ hg amend -u alice -m 'fix bug 24 (v2 by alice)'
@@ -489,7 +489,7 @@
   added 1 changesets with 1 changes to 1 files (+1 heads)
   1 new obsolescence markers
   2 new content-divergent changesets
-  new changesets e3a586fd2377 (1 drafts)
+  new changesets e3a586fd2377
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
 Figure SG09: multiple heads! divergence! oh my!
--- a/tests/test-topic-dest.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-topic-dest.t	Sat Oct 31 20:02:03 2020 +0800
@@ -278,7 +278,7 @@
   adding manifests
   adding file changes
   added 3 changesets with 3 changes to 3 files
-  new changesets 13ec05df14e1:6482f08916a5 (3 drafts)
+  new changesets 13ec05df14e1:6482f08916a5
   updating to branch default
   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cd other
@@ -292,7 +292,7 @@
   adding manifests
   adding file changes
   added 3 changesets with 3 changes to 3 files (+1 heads)
-  new changesets 6f5edd7450bb:c9c03b99196b (3 drafts)
+  new changesets 6f5edd7450bb:c9c03b99196b
   rebasing 3:dbc48dd9e743 "c_other"
   $ hg log -G
   @  7 () c_other
--- a/tests/test-topic-server.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-topic-server.t	Sat Oct 31 20:02:03 2020 +0800
@@ -155,7 +155,7 @@
   adding manifests
   adding file changes
   added 3 changesets with 3 changes to 3 files (+1 heads)
-  new changesets 2a2e8b3520f2:be22ca6e89ea (3 drafts)
+  new changesets 2a2e8b3520f2:be22ca6e89ea
   (run 'hg heads' to see heads, 'hg merge' to merge)
   $ hg --cwd client-topic2 log -r 'all() - 0'
   changeset:   1:2a2e8b3520f2
@@ -187,7 +187,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets b46feb4d24f9 (1 drafts)
+  new changesets b46feb4d24f9
   (run 'hg update' to get a working copy)
   $ hg --cwd client-plain phase -r 'all() - 0'
   1: draft
--- a/tests/test-topic-tutorial.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-topic-tutorial.t	Sat Oct 31 20:02:03 2020 +0800
@@ -1847,7 +1847,7 @@
   adding file changes
   added 4 changesets with 4 changes to 1 files (+1 heads)
   8 new obsolescence markers
-  new changesets b7509bd417f8:2d084ac00115 (4 drafts)
+  new changesets b7509bd417f8:2d084ac00115
   (run 'hg heads' to see heads)
 
   $ hg topics --verbose
@@ -1891,7 +1891,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 0d409663a1fd (1 drafts)
+  new changesets 0d409663a1fd
   (run 'hg update' to get a working copy)
 
   $ hg update
--- a/tests/test-topic.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-topic.t	Sat Oct 31 20:02:03 2020 +0800
@@ -166,15 +166,10 @@
   
   list of commands:
   
-  Change organization:
-  
+   stack         list all changesets in a topic and other information
    topics        View current topic, set current topic, change topic for a set
                  of revisions, or see all topics.
   
-  Change navigation:
-  
-   stack         list all changesets in a topic and other information
-  
   (use 'hg help -v topic' to show built-in aliases and global options)
   $ hg help topics
   hg topics [OPTION]... [-r REV]... [TOPIC]
@@ -218,12 +213,11 @@
   
   options ([+] can be repeated):
   
-      --clear             clear active topic if any
-   -r --rev REV [+]       revset of existing revisions
-   -l --list              show the stack of changeset in the topic
-      --age               show when you last touched the topics
-      --current           display the current topic only
-   -T --template TEMPLATE display with template
+      --clear       clear active topic if any
+   -r --rev REV [+] revset of existing revisions
+   -l --list        show the stack of changeset in the topic
+      --age         show when you last touched the topics
+      --current     display the current topic only
   
   (some details hidden, use --verbose to show complete help)
   $ hg topics
@@ -674,7 +668,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  new changesets 0469d521db49 (1 drafts)
+  new changesets 0469d521db49
   (run 'hg heads' to see heads)
   $ hg topics
      fran  (1 changesets)
--- a/tests/test-tutorial.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-tutorial.t	Sat Oct 31 20:02:03 2020 +0800
@@ -1070,7 +1070,7 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
   1 new obsolescence markers
-  new changesets 4710c0968793 (1 drafts)
+  new changesets 4710c0968793
   (run 'hg update' to get a working copy)
   $ hg log -G
   o  4710c0968793 (draft): bathroom stuff
@@ -1212,7 +1212,7 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
   1 new orphan changesets
-  new changesets e4e4fa805d92 (1 drafts)
+  new changesets e4e4fa805d92
   (run 'hg update' to get a working copy)
 
 The new changeset "animal" is based on an old changeset of "bathroom". You can
@@ -1547,7 +1547,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets fc41faf45288 (1 drafts)
+  new changesets fc41faf45288
   (run 'hg update' to get a working copy)
   $ hg log -G
   o  fc41faf45288 (draft): SPAM SPAM SPAM
--- a/tests/test-wireproto-bundle1.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-wireproto-bundle1.t	Sat Oct 31 20:02:03 2020 +0800
@@ -50,7 +50,7 @@
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
-  new changesets 8685c6d34325:4957bfdac07e (2 drafts)
+  new changesets 8685c6d34325:4957bfdac07e
   (run 'hg update' to get a working copy)
   $ hg push -R ../other
   pushing to ssh://user@dummy/server
@@ -90,7 +90,7 @@
   added 1 changesets with 1 changes to [12] files \(\+1 heads\) (re)
   1 new obsolescence markers
   obsoleted 1 changesets
-  new changesets 9d1c114e7797 (1 drafts)
+  new changesets 9d1c114e7797
   (run 'hg heads' to see heads)
   $ hg -R ../other pull
   pulling from ssh://user@dummy/server
--- a/tests/test-wireproto.t	Sat Oct 31 19:43:46 2020 +0800
+++ b/tests/test-wireproto.t	Sat Oct 31 20:02:03 2020 +0800
@@ -53,7 +53,7 @@
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
-  new changesets 8685c6d34325:4957bfdac07e (2 drafts)
+  new changesets 8685c6d34325:4957bfdac07e
   (run 'hg update' to get a working copy)
   $ hg push -R ../other
   pushing to ssh://user@dummy/server
@@ -95,7 +95,7 @@
   obsmarker-exchange: 92 bytes received
   1 new obsolescence markers
   obsoleted 1 changesets
-  new changesets 9d1c114e7797 (1 drafts)
+  new changesets 9d1c114e7797
   (run 'hg heads' to see heads)
   $ hg -R ../other pull
   pulling from ssh://user@dummy/server
@@ -128,7 +128,7 @@
   added 1 changesets with 1 changes to 1 files
   obsmarker-exchange: 92 bytes received
   1 new obsolescence markers
-  new changesets a5687ec59dd4 (1 drafts)
+  new changesets a5687ec59dd4
   (run 'hg update' to get a working copy)
 
 some common hidden