branching: merge with stable
authorPierre-Yves David <pierre-yves.david@octobus.net>
Fri, 21 Sep 2018 18:33:55 +0200
changeset 4126 099e264bf3be
parent 4125 865c33c16508 (current diff)
parent 4122 4eb3877540f1 (diff)
child 4127 dfa69b5ece87
branching: merge with stable
hgext3rd/evolve/cmdrewrite.py
hgext3rd/topic/__init__.py
--- a/CHANGELOG	Sat Sep 22 13:09:06 2018 +0200
+++ b/CHANGELOG	Fri Sep 21 18:33:55 2018 +0200
@@ -1,6 +1,11 @@
 Changelog
 =========
 
+8.2.1 - in progress
+-------------------
+
+  * evolve: avoid redundant output when handling linear orphans
+
 8.2.1 -- 2018-09-14
 -------------------
 
--- a/hgext3rd/evolve/cmdrewrite.py	Sat Sep 22 13:09:06 2018 +0200
+++ b/hgext3rd/evolve/cmdrewrite.py	Fri Sep 21 18:33:55 2018 +0200
@@ -187,7 +187,6 @@
         lockmod.release(lock, wlock)
 
 def _editandapply(ui, repo, pats, old, p1, fp, diffopts):
-    RETRYCHOICE = _('try to fix the patch (yn)?$$ &Yes $$ &No')
     newnode = None
     while newnode is None:
         fp.seek(0)
@@ -221,7 +220,8 @@
             defaultchoice = 0 # yes
             if not ui.interactive:
                 defaultchoice = 1 # no
-            if ui.promptchoice(RETRYCHOICE, default=defaultchoice):
+            retrychoice = _('try to fix the patch (yn)?$$ &Yes $$ &No')
+            if ui.promptchoice(retrychoice, default=defaultchoice):
                 raise error.Abort(_("Could not apply amended path"))
             else:
                 # consider a third choice where we restore the original patch
--- a/hgext3rd/evolve/evolvecmd.py	Sat Sep 22 13:09:06 2018 +0200
+++ b/hgext3rd/evolve/evolvecmd.py	Fri Sep 21 18:33:55 2018 +0200
@@ -53,7 +53,7 @@
 abortmessage = _("see `hg help evolve.interrupted`\n")
 
 def _solveone(ui, repo, ctx, evolvestate, dryrun, confirm,
-              progresscb, category):
+              progresscb, category, lastsolved=None):
     """Resolve the troubles affecting one revision
 
     returns a tuple (bool, newnode) where,
@@ -68,8 +68,8 @@
         lock = repo.lock()
         tr = repo.transaction("evolve")
         if 'orphan' == category:
-            result = _solveunstable(ui, repo, ctx, evolvestate,
-                                    dryrun, confirm, progresscb)
+            result = _solveunstable(ui, repo, ctx, evolvestate, dryrun, confirm,
+                                    progresscb, lastsolved=lastsolved)
         elif 'phasedivergent' == category:
             result = _solvephasedivergence(ui, repo, ctx, evolvestate,
                                            dryrun, confirm, progresscb)
@@ -84,7 +84,7 @@
         lockmod.release(tr, lock, wlock)
 
 def _solveunstable(ui, repo, orig, evolvestate, dryrun=False, confirm=False,
-                   progresscb=None):
+                   progresscb=None, lastsolved=None):
     """ Tries to stabilize the changeset orig which is orphan.
 
     returns a tuple (bool, newnode) where,
@@ -158,8 +158,9 @@
     if not ui.quiet or confirm:
         repo.ui.write(_('move:'), label='evolve.operation')
         displayer.show(orig)
-        repo.ui.write(_('atop:'))
-        displayer.show(target)
+        if lastsolved is None or target != repo[lastsolved]:
+            repo.ui.write(_('atop:'))
+            displayer.show(target)
     if confirm and ui.prompt('perform evolve? [Ny]', 'n') != 'y':
             raise error.Abort(_('evolve aborted by user'))
     if progresscb:
@@ -1566,14 +1567,19 @@
                      'command': 'evolve', 'orphanmerge': False,
                      'bookmarkchanges': [], 'temprevs': [], 'obsmarkers': []}
         evolvestate.addopts(stateopts)
+        # lastsolved: keep track of successor of last troubled cset we evolved
+        # to confirm that if atop msg should be suppressed to remove redundancy
+        lastsolved = None
         for rev in revs:
             curctx = repo[rev]
             progresscb()
-            ret = _solveone(ui, repo, curctx, evolvestate, dryrunopt, confirmopt,
-                            progresscb, targetcat)
+            ret = _solveone(ui, repo, curctx, evolvestate, dryrunopt,
+                            confirmopt, progresscb, targetcat,
+                            lastsolved=lastsolved)
             seen += 1
             if ret[0]:
                 evolvestate['replacements'][curctx.node()] = ret[1]
+                lastsolved = ret[1]
             else:
                 evolvestate['skippedrevs'].append(curctx.node())
 
@@ -1718,15 +1724,21 @@
             category = evolvestate['category']
             confirm = evolvestate['confirm']
             unfi = repo.unfiltered()
+            # lastsolved: keep track of successor of last troubled cset we
+            # evolved to confirm that if atop msg should be suppressed to remove
+            # redundancy
+            lastsolved = None
             for rev in evolvestate['revs']:
                 # XXX: prevent this lookup by storing nodes instead of revnums
                 curctx = unfi[rev]
                 if (curctx.node() not in evolvestate['replacements'] and
                     curctx.node() not in evolvestate['skippedrevs']):
                     newnode = _solveone(ui, repo, curctx, evolvestate, False,
-                                        confirm, progresscb, category)
+                                        confirm, progresscb, category,
+                                        lastsolved=lastsolved)
                     if newnode[0]:
                         evolvestate['replacements'][curctx.node()] = newnode[1]
+                        lastsolved = newnode[1]
                     else:
                         evolvestate['skippedrevs'].append(curctx.node())
         return
--- a/hgext3rd/evolve/metadata.py	Sat Sep 22 13:09:06 2018 +0200
+++ b/hgext3rd/evolve/metadata.py	Fri Sep 21 18:33:55 2018 +0200
@@ -5,7 +5,7 @@
 # This software may be used and distributed according to the terms of the
 # GNU General Public License version 2 or any later version.
 
-__version__ = '8.2.2.dev'
+__version__ = '8.3.0.dev'
 testedwith = '4.3.2 4.4.2 4.5.2 4.6.2 4.7'
 minimumhgversion = '4.3'
 buglink = 'https://bz.mercurial-scm.org/'
--- a/hgext3rd/topic/__init__.py	Sat Sep 22 13:09:06 2018 +0200
+++ b/hgext3rd/topic/__init__.py	Fri Sep 21 18:33:55 2018 +0200
@@ -178,7 +178,7 @@
               'topic.active': 'green',
              }
 
-__version__ = '0.11.2.dev'
+__version__ = '0.12.0.dev'
 
 testedwith = '4.3.3 4.4.2 4.5.2 4.6.2 4.7'
 minimumhgversion = '4.3'
--- a/hgext3rd/topic/revset.py	Sat Sep 22 13:09:06 2018 +0200
+++ b/hgext3rd/topic/revset.py	Fri Sep 21 18:33:55 2018 +0200
@@ -24,7 +24,7 @@
 revsetpredicate = registrar.revsetpredicate()
 
 def getstringstrict(x, err):
-    if x and (x[0] == 'string'):
+    if x and x[0] == 'string':
         return x[1]
     raise error.ParseError(err)
 
@@ -51,25 +51,19 @@
     else:
         kind, pattern, matcher = mkmatcher(topic)
 
+        if topic.startswith('literal:') and pattern not in repo.topics:
+            raise error.RepoLookupError("topic '%s' does not exist" % pattern)
+
         def matches(r):
             topic = repo[r].topic()
             if not topic:
                 return False
             return matcher(topic)
 
-        if kind == 'literal':
-            # note: falls through to the revset case if no topic with this name
-            # exists and pattern kind is not specified explicitly
-
-            if pattern not in repo.topics and topic.startswith('literal:'):
-                raise error.RepoLookupError("topic '%s' does not exist"
-                                            % pattern)
-            return (subset & mutable).filter(matches)
-        else:
-            return (subset & mutable).filter(matches)
+        return (subset & mutable).filter(matches)
 
     s = revset.getset(repo, revset.fullreposet(repo), x)
-    topics = set(repo[r].topic() for r in s)
+    topics = {repo[r].topic() for r in s}
     topics.discard('')
 
     def matches(r):
--- a/tests/test-corrupt.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-corrupt.t	Fri Sep 21 18:33:55 2018 +0200
@@ -60,7 +60,7 @@
   checking manifests
   crosschecking files in changesets and manifests
   checking files
-  13 files, 3 changesets, 13 total revisions
+  checked 3 changesets with 13 changes to 13 files
   $ mkcommit D
   $ mkcommit E
   $ hg up -q .^^
@@ -115,7 +115,7 @@
   checking manifests
   crosschecking files in changesets and manifests
   checking files
-  15 files, 4 changesets, 15 total revisions
+  checked 4 changesets with 15 changes to 15 files
 
 
 
--- a/tests/test-evolve-abort-orphan.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-evolve-abort-orphan.t	Fri Sep 21 18:33:55 2018 +0200
@@ -157,7 +157,6 @@
   move:[2] added b
   atop:[7] added a
   move:[5] added c
-  atop:[8] added b
   merging c
   warning: conflicts while merging c! (edit, then use 'hg resolve --mark')
   fix conflicts and see `hg help evolve.interrupted`
@@ -485,7 +484,6 @@
   move:[2] added b
   atop:[4] added a
   move:[3] added c
-  atop:[5] added b
   merging c
   warning: conflicts while merging c! (edit, then use 'hg resolve --mark')
   fix conflicts and see `hg help evolve.interrupted`
--- a/tests/test-evolve-content-divergence.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-evolve-content-divergence.t	Fri Sep 21 18:33:55 2018 +0200
@@ -378,7 +378,6 @@
   move:[3] added c
   atop:[8] added b
   move:[4] added d
-  atop:[9] added c
   working directory is now at 4ae4427ee9f8
   $ hg glog
   @  10:4ae4427ee9f8 added d
@@ -794,7 +793,7 @@
   adding manifests
   adding file changes
   added 5 changesets with 5 changes to 5 files
-  new changesets 8fa14d15e168:c41c793e0ef1
+  new changesets 8fa14d15e168:c41c793e0ef1 (5 drafts)
   (run 'hg update' to get a working copy)
   $ hg glog
   o  4:c41c793e0ef1 added d
@@ -819,9 +818,7 @@
   move:[2] added b
   atop:[6] watbar to a
   move:[3] added c
-  atop:[7] added b
   move:[4] added d
-  atop:[8] added c
   working directory is now at 15c781f93cac
   $ hg glog
   @  9:15c781f93cac added d
@@ -845,9 +842,7 @@
   move:[2] added b
   atop:[5] watbar to a
   move:[3] added c
-  atop:[6] added b
   move:[4] added d
-  atop:[7] added c
   working directory is now at c72d2885eb51
   $ hg glog
   @  8:c72d2885eb51 added d
@@ -870,7 +865,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
+  new changesets 82b74d5dc678:15c781f93cac (4 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
   $ hg glog
--- a/tests/test-evolve-continue.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-evolve-continue.t	Fri Sep 21 18:33:55 2018 +0200
@@ -166,7 +166,6 @@
   move:[5] added c
   atop:[10] added b
   move:[8] added d
-  atop:[11] added c
   working directory is now at 6642d2c9176e
 
   $ hg glog
@@ -237,7 +236,6 @@
   move:[12] added d
   atop:[16] added c
   move:[13] added f
-  atop:[17] added d
   merging f
   warning: conflicts while merging f! (edit, then use 'hg resolve --mark')
   fix conflicts and see `hg help evolve.interrupted`
@@ -252,7 +250,6 @@
   move:[14] added g
   atop:[18] added f
   move:[15] added h
-  atop:[19] added g
   merging h
   warning: conflicts while merging h! (edit, then use 'hg resolve --mark')
   fix conflicts and see `hg help evolve.interrupted`
--- a/tests/test-evolve-issue5832.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-evolve-issue5832.t	Fri Sep 21 18:33:55 2018 +0200
@@ -117,7 +117,6 @@
   move:[2] added b
   atop:[5] added a
   move:[4] merge commit
-  atop:[8] added b
   ancestor '7235ef625ea3' split over multiple topological branches.
   choose an evolve destination:
   0: [62fb70414f99] added c
@@ -259,7 +258,6 @@
   move:[2] added b
   atop:[6] added a
   move:[4] merge commit
-  atop:[9] added b
   ancestor 'cdf2ea1b9312' split over multiple topological branches.
   choose an evolve destination:
   0: [62fb70414f99] added c
--- a/tests/test-evolve-noupdate.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-evolve-noupdate.t	Fri Sep 21 18:33:55 2018 +0200
@@ -64,7 +64,6 @@
   move:[3] added c
   atop:[5] added b
   move:[4] added d
-  atop:[6] added c
 
   $ hg glog
   o  7:b6b20b8eefdc added d
@@ -108,9 +107,7 @@
   move:[5] added b
   atop:[8] added a
   move:[6] added c
-  atop:[9] added b
   move:[7] added d
-  atop:[10] added c
   working directory is now at 12c720cb3782
 
   $ hg glog
--- a/tests/test-evolve-obshistory.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-evolve-obshistory.t	Fri Sep 21 18:33:55 2018 +0200
@@ -126,7 +126,7 @@
   added 1 changesets with 0 changes to 1 files (+1 heads)
   2 new obsolescence markers
   obsoleted 1 changesets
-  new changesets 7a230b46bf61
+  new changesets 7a230b46bf61 (1 drafts)
   (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-order.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-evolve-order.t	Fri Sep 21 18:33:55 2018 +0200
@@ -62,7 +62,6 @@
   move:[2] add _b
   atop:[4] add _a
   move:[3] add _c
-  atop:[5] add _b
   working directory is now at 52b8f9b04f83
 
 evolve --rev reorders the rev to solve instability. Harder case, obsolescence
@@ -106,9 +105,7 @@
   move:[10] bprime
   atop:[11] asecond
   move:[6] add _c
-  atop:[12] bprime
   move:[7] add _d
-  atop:[13] add _c
   working directory is now at 739f18ac1d03
   $ hg log -G
   @  14:739f18ac1d03@default(draft) add _d
@@ -214,7 +211,6 @@
   move:[17] add c3_
   atop:[28] add c2prime
   move:[18] add c4_
-  atop:[30] add c3_
   working directory is now at 35e7b797ace5
   $ hg log -G -r "desc(_d)::"
   @  31:35e7b797ace5@default(draft) add c4_
--- a/tests/test-evolve-orphan-merge.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-evolve-orphan-merge.t	Fri Sep 21 18:33:55 2018 +0200
@@ -350,7 +350,6 @@
   move:[16] added m
   atop:[20] added l
   move:[19] merge commit
-  atop:[21] added m
   working directory is now at a446ad3e6700
 
   $ hg glog
--- a/tests/test-evolve-phase-divergence.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-evolve-phase-divergence.t	Fri Sep 21 18:33:55 2018 +0200
@@ -80,7 +80,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 4d1169d82e47
+  new changesets 4d1169d82e47 (1 drafts)
   (run 'hg update' to get a working copy)
 
   $ hg glog
@@ -260,7 +260,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets aa071e5554e3
+  new changesets aa071e5554e3 (1 drafts)
   (run 'hg update' to get a working copy)
 
   $ hg push ../public
@@ -414,7 +414,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets b756eb10ea73
+  new changesets b756eb10ea73 (1 drafts)
   1 local changesets published
   (run 'hg update' to get a working copy)
 
@@ -545,7 +545,7 @@
   adding file changes
   added 2 changesets with 2 changes to 2 files
   2 new obsolescence markers
-  new changesets 502e73736632:2352021b3785
+  new changesets 502e73736632:2352021b3785 (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg push ../public
   pushing to ../public
--- a/tests/test-evolve-serveronly-bundle2.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-evolve-serveronly-bundle2.t	Fri Sep 21 18:33:55 2018 +0200
@@ -72,7 +72,7 @@
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
-  new changesets 8685c6d34325:4957bfdac07e
+  new changesets 8685c6d34325:4957bfdac07e (2 drafts)
   (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
+  new changesets 9d1c114e7797 (1 drafts)
   (run 'hg heads' to see heads)
   $ cat ../errors.log
   $ hg -R ../other pull
--- a/tests/test-evolve-stop-orphan.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-evolve-stop-orphan.t	Fri Sep 21 18:33:55 2018 +0200
@@ -242,9 +242,7 @@
   move:[1] added a
   atop:[7] added hgignore
   move:[2] added b
-  atop:[8] added a
   move:[5] added c
-  atop:[9] added b
   merging c
   warning: conflicts while merging c! (edit, then use 'hg resolve --mark')
   fix conflicts and see `hg help evolve.interrupted`
@@ -357,7 +355,6 @@
   move:[9] added b
   atop:[12] added a
   move:[10] added c
-  atop:[13] added b
   merging c
   warning: conflicts while merging c! (edit, then use 'hg resolve --mark')
   fix conflicts and see `hg help evolve.interrupted`
--- a/tests/test-evolve-templates.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-evolve-templates.t	Fri Sep 21 18:33:55 2018 +0200
@@ -1004,7 +1004,7 @@
   added 1 changesets with 0 changes to 1 files (+1 heads)
   2 new obsolescence markers
   obsoleted 1 changesets
-  new changesets 7a230b46bf61
+  new changesets 7a230b46bf61 (1 drafts)
   (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-topic.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-evolve-topic.t	Fri Sep 21 18:33:55 2018 +0200
@@ -127,7 +127,6 @@
   move:[4] add eee
   atop:[10] add ddd
   move:[11] add fff
-  atop:[12] add eee
   working directory is now at 070c5573d8f9
   $ hg log -G
   @  13 - {foo} 070c5573d8f9 add fff (draft)
@@ -164,11 +163,8 @@
   move:[6] add ggg
   atop:[13] add fff
   move:[7] add hhh
-  atop:[14] add ggg
   move:[8] add iii
-  atop:[15] add hhh
   move:[9] add jjj
-  atop:[16] add iii
   working directory is now at 9bf430c106b7
   $ hg log -G
   @  17 - {bar} 9bf430c106b7 add jjj (draft)
--- a/tests/test-evolve.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-evolve.t	Fri Sep 21 18:33:55 2018 +0200
@@ -380,8 +380,8 @@
   $ hg up -r "desc('a nifty feature')"
   1 files updated, 0 files merged, 1 files removed, 0 files unresolved
   $ hg revert -r "desc('another feature')" --all
+  reverting main-file-1
   adding file-from-B
-  reverting main-file-1
   $ sed -i'' -e s/Zwei/deux/ main-file-1
   $ hg commit -m 'another feature that rox' -o 5
   created new head
@@ -468,7 +468,6 @@
   atop:[10] dansk!
   merging main-file-1
   move:[9] dansk 3!
-  atop:[11] dansk 2!
   merging main-file-1
   working directory is now at 96abb1319a47
   $ hg log -G
@@ -508,7 +507,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 702e4d0a6d86
+  new changesets 702e4d0a6d86 (1 drafts)
   $ cd alpha
 
   $ cat << EOF > A
@@ -541,7 +540,7 @@
   checking manifests
   crosschecking files in changesets and manifests
   checking files
-  3 files, 3 changesets, 3 total revisions
+  checked 3 changesets with 3 changes to 3 files
   $ hg --config extensions.hgext.mq= strip 'extinct()'
   abort: empty revision set
   [255]
@@ -553,7 +552,7 @@
   checking manifests
   crosschecking files in changesets and manifests
   checking files
-  2 files, 2 changesets, 2 total revisions
+  checked 2 changesets with 2 changes to 2 files
   $ cd ..
 
 Clone just this branch
@@ -567,7 +566,7 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
   1 new obsolescence markers
-  new changesets c6dda801837c
+  new changesets c6dda801837c (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg up
   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -1164,55 +1163,11 @@
   > EOF
   $ hg next
   hg: unknown command 'next'
-  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)
+  (use 'hg help' for a list of commands)
   [255]
   $ hg fold
   hg: unknown command 'fold'
-  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)
+  (use 'hg help' for a list of commands)
   [255]
 Enabling commands selectively, only fold enabled, next is still unknown
   $ cat >> $HGRCPATH <<EOF
@@ -1225,30 +1180,7 @@
   [255]
   $ hg next
   hg: unknown command 'next'
-  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)
+  (use 'hg help' for a list of commands)
   [255]
 
 Shows "use 'hg evolve' to..." hints iff the evolve command is enabled
@@ -1358,7 +1290,6 @@
   move:[20] add j2
   atop:[23] add j1
   move:[21] add j3
-  atop:[24] add j2
   working directory is now at 0d9203b74542
   $ glog -r "0cf3707e8971::"
   @  25:0d9203b74542@default(draft) add j3
@@ -1532,7 +1463,6 @@
   move:[35] will be evolved safely
   atop:[37] amended
   move:[36] will cause conflict at evolve
-  atop:[38] will be evolved safely
   merging newfile
   warning: conflicts while merging newfile! (edit, then use 'hg resolve --mark')
   fix conflicts and see `hg help evolve.interrupted`
--- a/tests/test-exchange-obsmarkers-case-A1.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-exchange-obsmarkers-case-A1.t	Fri Sep 21 18:33:55 2018 +0200
@@ -113,7 +113,7 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
   1 new obsolescence markers
-  new changesets f5bc6836db60
+  new changesets f5bc6836db60 (1 drafts)
   (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
+  new changesets f5bc6836db60 (1 drafts)
   (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
+  new changesets f5bc6836db60:f6fbb35d8ac9 (2 drafts)
   (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
+  new changesets f5bc6836db60:f6fbb35d8ac9 (2 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
--- a/tests/test-exchange-obsmarkers-case-A2.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-exchange-obsmarkers-case-A2.t	Fri Sep 21 18:33:55 2018 +0200
@@ -124,7 +124,7 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
   1 new obsolescence markers
-  new changesets f5bc6836db60
+  new changesets f5bc6836db60 (1 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
--- a/tests/test-exchange-obsmarkers-case-A3.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-exchange-obsmarkers-case-A3.t	Fri Sep 21 18:33:55 2018 +0200
@@ -146,7 +146,7 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
   1 new obsolescence markers
-  new changesets e5ea8f9c7314
+  new changesets e5ea8f9c7314 (1 drafts)
   (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
+  new changesets e5ea8f9c7314 (1 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
   ## post pull state
   # obstore: main
--- a/tests/test-exchange-obsmarkers-case-A4.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-exchange-obsmarkers-case-A4.t	Fri Sep 21 18:33:55 2018 +0200
@@ -134,7 +134,7 @@
   adding file changes
   added 2 changesets with 2 changes to 2 files
   1 new obsolescence markers
-  new changesets 28b51eb45704:06055a7959d4
+  new changesets 28b51eb45704:06055a7959d4 (2 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
--- a/tests/test-exchange-obsmarkers-case-A5.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-exchange-obsmarkers-case-A5.t	Fri Sep 21 18:33:55 2018 +0200
@@ -141,7 +141,7 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
   1 new obsolescence markers
-  new changesets f6298a8ac3a4
+  new changesets f6298a8ac3a4 (1 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
--- a/tests/test-exchange-obsmarkers-case-B3.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-exchange-obsmarkers-case-B3.t	Fri Sep 21 18:33:55 2018 +0200
@@ -120,7 +120,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets f5bc6836db60
+  new changesets f5bc6836db60 (1 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
--- a/tests/test-exchange-obsmarkers-case-B5.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-exchange-obsmarkers-case-B5.t	Fri Sep 21 18:33:55 2018 +0200
@@ -158,7 +158,7 @@
   adding file changes
   added 3 changesets with 3 changes to 3 files
   1 new obsolescence markers
-  new changesets 28b51eb45704:1d0f3cd25300
+  new changesets 28b51eb45704:1d0f3cd25300 (3 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
--- a/tests/test-exchange-obsmarkers-case-C2.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-exchange-obsmarkers-case-C2.t	Fri Sep 21 18:33:55 2018 +0200
@@ -131,7 +131,7 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
   2 new obsolescence markers
-  new changesets e5ea8f9c7314
+  new changesets e5ea8f9c7314 (1 drafts)
   (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
+  new changesets e5ea8f9c7314 (1 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
--- a/tests/test-exchange-obsmarkers-case-D1.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-exchange-obsmarkers-case-D1.t	Fri Sep 21 18:33:55 2018 +0200
@@ -128,7 +128,7 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
   2 new obsolescence markers
-  new changesets e5ea8f9c7314
+  new changesets e5ea8f9c7314 (1 drafts)
   (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
+  new changesets e5ea8f9c7314 (1 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
--- a/tests/test-exchange-obsmarkers-case-D4.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-exchange-obsmarkers-case-D4.t	Fri Sep 21 18:33:55 2018 +0200
@@ -141,7 +141,7 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
   2 new obsolescence markers
-  new changesets e5ea8f9c7314
+  new changesets e5ea8f9c7314 (1 drafts)
   (run 'hg update' to get a working copy)
   ## post pull state
   # obstore: main
--- a/tests/test-obsolete.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-obsolete.t	Fri Sep 21 18:33:55 2018 +0200
@@ -194,7 +194,7 @@
   checking manifests
   crosschecking files in changesets and manifests
   checking files
-  5 files, 5 changesets, 5 total revisions
+  checked 5 changesets with 5 changes to 5 files
   $ 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
+  new changesets 909a0fb57e5d (1 drafts)
   (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
+  new changesets 159dfc9fa5d3 (1 drafts)
   (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 Sep 22 13:09:06 2018 +0200
+++ b/tests/test-options.t	Fri Sep 21 18:33:55 2018 +0200
@@ -26,5 +26,4 @@
   > EOF
   $ hg prune | head -n 2
   hg: unknown command 'prune'
-  Mercurial Distributed SCM
-  
+  (use 'hg help' for a list of commands)
--- a/tests/test-prev-next.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-prev-next.t	Fri Sep 21 18:33:55 2018 +0200
@@ -460,7 +460,8 @@
 
 XXX: things are broken!
   $ hg prev --merge --config commands.update.check=abort
-  local [working copy] changed bar which other [destination] deleted
+  file 'bar' was deleted in other [destination] but was modified in local [working copy].
+  What do you want to do?
   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-push-checkheads-partial-C1.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-push-checkheads-partial-C1.t	Fri Sep 21 18:33:55 2018 +0200
@@ -51,7 +51,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (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 Sep 22 13:09:06 2018 +0200
+++ b/tests/test-push-checkheads-partial-C2.t	Fri Sep 21 18:33:55 2018 +0200
@@ -53,7 +53,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (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 Sep 22 13:09:06 2018 +0200
+++ b/tests/test-push-checkheads-partial-C3.t	Fri Sep 21 18:33:55 2018 +0200
@@ -53,7 +53,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (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 Sep 22 13:09:06 2018 +0200
+++ b/tests/test-push-checkheads-partial-C4.t	Fri Sep 21 18:33:55 2018 +0200
@@ -53,7 +53,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (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 Sep 22 13:09:06 2018 +0200
+++ b/tests/test-push-checkheads-pruned-B2.t	Fri Sep 21 18:33:55 2018 +0200
@@ -53,7 +53,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (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 Sep 22 13:09:06 2018 +0200
+++ b/tests/test-push-checkheads-pruned-B3.t	Fri Sep 21 18:33:55 2018 +0200
@@ -53,7 +53,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (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 Sep 22 13:09:06 2018 +0200
+++ b/tests/test-push-checkheads-pruned-B4.t	Fri Sep 21 18:33:55 2018 +0200
@@ -54,7 +54,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (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 Sep 22 13:09:06 2018 +0200
+++ b/tests/test-push-checkheads-pruned-B5.t	Fri Sep 21 18:33:55 2018 +0200
@@ -57,7 +57,7 @@
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
-  new changesets d73caddc5533:821fb21d0dd2
+  new changesets d73caddc5533:821fb21d0dd2 (2 drafts)
   (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 Sep 22 13:09:06 2018 +0200
+++ b/tests/test-push-checkheads-pruned-B8.t	Fri Sep 21 18:33:55 2018 +0200
@@ -55,7 +55,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (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 Sep 22 13:09:06 2018 +0200
+++ b/tests/test-push-checkheads-superceed-A2.t	Fri Sep 21 18:33:55 2018 +0200
@@ -52,7 +52,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (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 Sep 22 13:09:06 2018 +0200
+++ b/tests/test-push-checkheads-superceed-A3.t	Fri Sep 21 18:33:55 2018 +0200
@@ -55,7 +55,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (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 Sep 22 13:09:06 2018 +0200
+++ b/tests/test-push-checkheads-superceed-A6.t	Fri Sep 21 18:33:55 2018 +0200
@@ -59,7 +59,7 @@
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files (+1 heads)
-  new changesets d73caddc5533:0f88766e02d6
+  new changesets d73caddc5533:0f88766e02d6 (2 drafts)
   (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 Sep 22 13:09:06 2018 +0200
+++ b/tests/test-push-checkheads-superceed-A7.t	Fri Sep 21 18:33:55 2018 +0200
@@ -59,7 +59,7 @@
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files (+1 heads)
-  new changesets d73caddc5533:0f88766e02d6
+  new changesets d73caddc5533:0f88766e02d6 (2 drafts)
   (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 Sep 22 13:09:06 2018 +0200
+++ b/tests/test-push-checkheads-unpushed-D2.t	Fri Sep 21 18:33:55 2018 +0200
@@ -57,7 +57,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (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 Sep 22 13:09:06 2018 +0200
+++ b/tests/test-push-checkheads-unpushed-D3.t	Fri Sep 21 18:33:55 2018 +0200
@@ -56,7 +56,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets d73caddc5533
+  new changesets d73caddc5533 (1 drafts)
   (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 Sep 22 13:09:06 2018 +0200
+++ b/tests/test-push-checkheads-unpushed-D4.t	Fri Sep 21 18:33:55 2018 +0200
@@ -73,7 +73,7 @@
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files (+1 heads)
-  new changesets d73caddc5533:0f88766e02d6
+  new changesets d73caddc5533:0f88766e02d6 (2 drafts)
   (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 Sep 22 13:09:06 2018 +0200
+++ b/tests/test-push-checkheads-unpushed-D5.t	Fri Sep 21 18:33:55 2018 +0200
@@ -62,7 +62,7 @@
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files (+1 heads)
-  new changesets d73caddc5533:0f88766e02d6
+  new changesets d73caddc5533:0f88766e02d6 (2 drafts)
   (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 Sep 22 13:09:06 2018 +0200
+++ b/tests/test-sharing.t	Fri Sep 21 18:33:55 2018 +0200
@@ -88,7 +88,7 @@
   added 1 changesets with 1 changes to 1 files (+1 heads)
   1 new obsolescence markers
   obsoleted 1 changesets
-  new changesets 60ffde5765c5
+  new changesets 60ffde5765c5 (1 drafts)
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   updated to "60ffde5765c5: fix bug 37"
   1 other heads for branch "default"
@@ -457,7 +457,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 2fe6c4bd32d0
+  new changesets 2fe6c4bd32d0 (1 drafts)
   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)'
@@ -486,7 +486,7 @@
   added 1 changesets with 1 changes to 1 files (+1 heads)
   1 new obsolescence markers
   2 new content-divergent changesets
-  new changesets e3f99ce9d9cd
+  new changesets e3f99ce9d9cd (1 drafts)
   (run 'hg heads' to see heads, 'hg merge' to merge)
 
 Figure SG09: multiple heads! divergence! oh my!
--- a/tests/test-split.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-split.t	Fri Sep 21 18:33:55 2018 +0200
@@ -151,7 +151,6 @@
   move:[5] split1
   atop:[7] _cprim
   move:[6] split2
-  atop:[8] split1
   working directory is now at * (glob)
   $ hg log -r "desc(_cprim)" -v -p
   changeset:   7:b434287e665c
@@ -219,7 +218,6 @@
   move:[8] split1
   atop:[11] split4
   move:[9] split2
-  atop:[12] split1
   working directory is now at d74c6715e706
   $ hg log -G
   @  changeset:   13:d74c6715e706
--- a/tests/test-topic-dest.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-topic-dest.t	Fri Sep 21 18:33:55 2018 +0200
@@ -276,7 +276,7 @@
   adding manifests
   adding file changes
   added 3 changesets with 3 changes to 3 files
-  new changesets 13ec05df14e1:6482f08916a5
+  new changesets 13ec05df14e1:6482f08916a5 (3 drafts)
   updating to branch default
   3 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ cd other
@@ -290,7 +290,7 @@
   adding manifests
   adding file changes
   added 3 changesets with 3 changes to 3 files (+1 heads)
-  new changesets 6f5edd7450bb:c9c03b99196b
+  new changesets 6f5edd7450bb:c9c03b99196b (3 drafts)
   rebasing 3:dbc48dd9e743 "c_other"
   $ hg log -G
   @  7 () c_other
--- a/tests/test-topic-tutorial.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-topic-tutorial.t	Fri Sep 21 18:33:55 2018 +0200
@@ -1845,7 +1845,7 @@
   adding file changes
   added 4 changesets with 4 changes to 1 files (+1 heads)
   8 new obsolescence markers
-  new changesets b7509bd417f8:2d084ac00115
+  new changesets b7509bd417f8:2d084ac00115 (4 drafts)
   (run 'hg heads' to see heads)
 
   $ hg topics --verbose
@@ -1889,7 +1889,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets 0d409663a1fd
+  new changesets 0d409663a1fd (1 drafts)
   (run 'hg update' to get a working copy)
 
   $ hg update
--- a/tests/test-topic.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-topic.t	Fri Sep 21 18:33:55 2018 +0200
@@ -614,7 +614,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files (+1 heads)
-  new changesets 0469d521db49
+  new changesets 0469d521db49 (1 drafts)
   (run 'hg heads' to see heads)
   $ hg topics
      fran  (1 changesets)
--- a/tests/test-tutorial.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-tutorial.t	Fri Sep 21 18:33:55 2018 +0200
@@ -1070,7 +1070,7 @@
   adding file changes
   added 1 changesets with 1 changes to 1 files
   1 new obsolescence markers
-  new changesets 4710c0968793
+  new changesets 4710c0968793 (1 drafts)
   (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
+  new changesets e4e4fa805d92 (1 drafts)
   (run 'hg update' to get a working copy)
 
 The new changeset "animal" is based on an old changeset of "bathroom". You can
@@ -1543,7 +1543,7 @@
   adding manifests
   adding file changes
   added 1 changesets with 1 changes to 1 files
-  new changesets fc41faf45288
+  new changesets fc41faf45288 (1 drafts)
   (run 'hg update' to get a working copy)
   $ hg log -G
   o  fc41faf45288 (draft): SPAM SPAM SPAM
--- a/tests/test-wireproto-bundle1.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-wireproto-bundle1.t	Fri Sep 21 18:33:55 2018 +0200
@@ -50,7 +50,7 @@
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
-  new changesets 8685c6d34325:4957bfdac07e
+  new changesets 8685c6d34325:4957bfdac07e (2 drafts)
   (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
+  new changesets 9d1c114e7797 (1 drafts)
   (run 'hg heads' to see heads)
   $ hg -R ../other pull
   pulling from ssh://user@dummy/server
--- a/tests/test-wireproto.t	Sat Sep 22 13:09:06 2018 +0200
+++ b/tests/test-wireproto.t	Fri Sep 21 18:33:55 2018 +0200
@@ -53,7 +53,7 @@
   adding manifests
   adding file changes
   added 2 changesets with 2 changes to 2 files
-  new changesets 8685c6d34325:4957bfdac07e
+  new changesets 8685c6d34325:4957bfdac07e (2 drafts)
   (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
+  new changesets 9d1c114e7797 (1 drafts)
   (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
+  new changesets a5687ec59dd4 (1 drafts)
   (run 'hg update' to get a working copy)
 
 some common hidden