changeset 4921:a7c01a2a3974

branching: merge with stable
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Thu, 07 Nov 2019 10:29:03 +0100
parents f16274729530 (diff) d1066fb2c95a (current diff)
children 31cd40b1bb67
files hgext3rd/evolve/cmdrewrite.py hgext3rd/evolve/obshistory.py hgext3rd/topic/__init__.py tests/test-topic.t
diffstat 25 files changed, 100 insertions(+), 166 deletions(-) [+]
line wrap: on
line diff
--- a/CHANGELOG	Sat Oct 26 22:44:06 2019 +0700
+++ b/CHANGELOG	Thu Nov 07 10:29:03 2019 +0100
@@ -6,6 +6,7 @@
 
   * pick: don't create any successors when there were no changes (issue6093),
   * metaedit: don't change commit date by default (issue5994),
+  * exchange: dropped more bundle-1 related dead code.
 
 9.2.1 -- 2019-10-05
 -------------------
--- a/hgext3rd/evolve/__init__.py	Sat Oct 26 22:44:06 2019 +0700
+++ b/hgext3rd/evolve/__init__.py	Thu Nov 07 10:29:03 2019 +0100
@@ -465,7 +465,8 @@
     _alias, statuscmd = cmdutil.findcmd(b'status', commands.table)
     pstatusopts = [o for o in statuscmd[1] if o[1] != b'rev']
 
-    @eh.command(b'pstatus', pstatusopts)
+    @eh.command(b'pstatus', pstatusopts,
+                **compat.helpcategorykwargs('CATEGORY_WORKING_DIRECTORY'))
     def pstatus(ui, repo, *args, **kwargs):
         """show status combining committed and uncommited changes
 
@@ -480,7 +481,8 @@
     _alias, diffcmd = cmdutil.findcmd(b'diff', commands.table)
     pdiffopts = [o for o in diffcmd[1] if o[1] != b'rev']
 
-    @eh.command(b'pdiff', pdiffopts)
+    @eh.command(b'pdiff', pdiffopts,
+                **compat.helpcategorykwargs('CATEGORY_WORKING_DIRECTORY'))
     def pdiff(ui, repo, *args, **kwargs):
         """show diff combining committed and uncommited changes
 
@@ -989,7 +991,8 @@
      (b'n', b'dry-run', False,
         _(b'do not perform actions, just print what would be done'))],
     b'[OPTION]...',
-    helpbasic=True)
+    helpbasic=True,
+    **compat.helpcategorykwargs('CATEGORY_WORKING_DIRECTORY'))
 def cmdprevious(ui, repo, **opts):
     """update to parent revision
 
@@ -1048,7 +1051,8 @@
      (b'n', b'dry-run', False,
       _(b'do not perform actions, just print what would be done'))],
     b'[OPTION]...',
-    helpbasic=True)
+    helpbasic=True,
+    **compat.helpcategorykwargs('CATEGORY_WORKING_DIRECTORY'))
 def cmdnext(ui, repo, **opts):
     """update to next child revision
 
@@ -1339,8 +1343,16 @@
         if entry[0] == b"evolution":
             break
     else:
-        help.helptable.append(([b"evolution"], _(b"Safely Rewriting History"),
-                               _helploader))
+        if util.safehasattr(help, 'TOPIC_CATEGORY_CONCEPTS'):
+            help.helptable.append(([b"evolution"],
+                                   _(b"Safely Rewriting History"),
+                                   _helploader,
+                                   help.TOPIC_CATEGORY_CONCEPTS))
+        else:
+            # hg <= 4.7 (c303d65d2e34)
+            help.helptable.append(([b"evolution"],
+                                   _(b"Safely Rewriting History"),
+                                   _helploader))
         help.helptable.sort()
 
 evolvestateversion = 0
--- a/hgext3rd/evolve/cmdrewrite.py	Sat Oct 26 22:44:06 2019 +0700
+++ b/hgext3rd/evolve/cmdrewrite.py	Thu Nov 07 10:29:03 2019 +0100
@@ -109,7 +109,8 @@
      (b'n', b'note', b'', _(b'store a note on amend'), _(b'TEXT')),
      ] + walkopts + commitopts + commitopts2 + commitopts3 + interactiveopt,
     _(b'[OPTION]... [FILE]...'),
-    helpbasic=True)
+    helpbasic=True,
+    **compat.helpcategorykwargs('CATEGORY_COMMITTING'))
 def amend(ui, repo, *pats, **opts):
     """combine a changeset with updates and replace it with a new one
 
@@ -454,7 +455,8 @@
      (b'', b'revert', False, _(b'discard working directory changes after uncommit')),
      (b'n', b'note', b'', _(b'store a note on uncommit'), _(b'TEXT')),
      ] + commands.walkopts + commitopts + commitopts2 + commitopts3,
-    _(b'[OPTION]... [FILE]...'))
+    _(b'[OPTION]... [FILE]...'),
+    **compat.helpcategorykwargs('CATEGORY_CHANGE_MANAGEMENT'))
 def uncommit(ui, repo, *pats, **opts):
     """move changes from parent revision to working directory
 
@@ -690,7 +692,8 @@
      (b'n', b'note', b'', _(b'store a note on fold'), _(b'TEXT')),
      ] + commitopts + commitopts2 + commitopts3,
     _(b'hg fold [OPTION]... [-r] REV...'),
-    helpbasic=True)
+    helpbasic=True,
+    **compat.helpcategorykwargs('CATEGORY_CHANGE_MANAGEMENT'))
 def fold(ui, repo, *revs, **opts):
     """fold multiple revisions into a single one
 
@@ -820,7 +823,8 @@
      (b'', b'fold', None, _(b"also fold specified revisions into one")),
      (b'n', b'note', b'', _(b'store a note on metaedit'), _(b'TEXT')),
      ] + commitopts + commitopts2 + commitopts3,
-    _(b'hg metaedit [OPTION]... [[-r] REV]...'))
+    _(b'hg metaedit [OPTION]... [[-r] REV]...'),
+    **compat.helpcategorykwargs('CATEGORY_CHANGE_MANAGEMENT'))
 def metaedit(ui, repo, *revs, **opts):
     """edit commit information
 
@@ -978,7 +982,8 @@
      (b'B', b'bookmark', [], _(b"remove revs only reachable from given"
                                b" bookmark"), _(b'BOOKMARK'))] + metadataopts,
     _(b'[OPTION]... [-r] REV...'),
-    helpbasic=True)
+    helpbasic=True,
+    **compat.helpcategorykwargs('CATEGORY_CHANGE_MANAGEMENT'))
 # XXX -U  --noupdate option to prevent wc update and or bookmarks update ?
 def cmdprune(ui, repo, *revs, **opts):
     """mark changesets as obsolete or succeeded by another changeset
@@ -1172,7 +1177,8 @@
      (b'n', b'note', b'', _(b"store a note on split"), _(b'TEXT')),
      ] + commitopts + commitopts2 + commitopts3,
     _(b'hg split [OPTION]... [-r REV] [FILE]...'),
-    helpbasic=True)
+    helpbasic=True,
+    **compat.helpcategorykwargs('CATEGORY_CHANGE_MANAGEMENT'))
 def cmdsplit(ui, repo, *pats, **opts):
     """split a changeset into smaller changesets
 
@@ -1347,7 +1353,8 @@
       b'mark the new revision as successor of the old one potentially creating '
       b'divergence')],
     # allow to choose the seed ?
-    _(b'[OPTION]... [-r] REV...'))
+    _(b'[OPTION]... [-r] REV...'),
+    **compat.helpcategorykwargs('CATEGORY_CHANGE_MANAGEMENT'))
 def touch(ui, repo, *revs, **opts):
     """create successors identical to their predecessors but the changeset ID
 
@@ -1448,7 +1455,8 @@
      (b'c', b'continue', False, b'continue interrupted pick'),
      (b'a', b'abort', False, b'abort interrupted pick'),
      ] + mergetoolopts,
-    _(b'[OPTION]... [-r] REV'))
+    _(b'[OPTION]... [-r] REV'),
+    **compat.helpcategorykwargs('CATEGORY_CHANGE_MANAGEMENT'))
 def cmdpick(ui, repo, *revs, **opts):
     """move a commit on the top of working directory parent and updates to it."""
 
--- a/hgext3rd/evolve/compat.py	Sat Oct 26 22:44:06 2019 +0700
+++ b/hgext3rd/evolve/compat.py	Thu Nov 07 10:29:03 2019 +0100
@@ -17,6 +17,7 @@
     obsolete,
     obsutil,
     pycompat,
+    registrar,
     repair,
     scmutil,
     util,
@@ -515,3 +516,12 @@
                      if meta.get(b'operation'))
 
     return sorted(operations)
+
+# help category compatibility
+# hg <= 4.7 (c303d65d2e34)
+def helpcategorykwargs(categoryname):
+    """Backwards-compatible specification of the helpategory argument."""
+    category = getattr(registrar.command, categoryname, None)
+    if not category:
+        return {}
+    return {'helpcategory': category}
--- a/hgext3rd/evolve/evolvecmd.py	Sat Oct 26 22:44:06 2019 +0700
+++ b/hgext3rd/evolve/evolvecmd.py	Thu Nov 07 10:29:03 2019 +0100
@@ -1505,7 +1505,8 @@
                               b' in the repo')),
      ] + mergetoolopts,
     _(b'[OPTIONS]...'),
-    helpbasic=True
+    helpbasic=True,
+    **compat.helpcategorykwargs('CATEGORY_CHANGE_MANAGEMENT')
 )
 def evolve(ui, repo, **opts):
     """solve troubled changesets in your repository
--- a/hgext3rd/evolve/exthelper.py	Sat Oct 26 22:44:06 2019 +0700
+++ b/hgext3rd/evolve/exthelper.py	Thu Nov 07 10:29:03 2019 +0100
@@ -50,7 +50,7 @@
         @eh.command('mynewcommand',
             [('r', 'rev', [], _('operate on these revisions'))],
             _('-r REV...'),
-            helpcategory=command.CATEGORY_XXX)
+            **compat.helpcategorykwargs('CATEGORY_XXX'))
         def newcommand(ui, repo, *revs, **opts):
             # implementation goes here
 
--- a/hgext3rd/evolve/metadata.py	Sat Oct 26 22:44:06 2019 +0700
+++ b/hgext3rd/evolve/metadata.py	Thu Nov 07 10:29:03 2019 +0100
@@ -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__ = b'9.2.2.dev'
+__version__ = b'9.3.0.dev'
 testedwith = b'4.5.2 4.6.2 4.7 4.8 4.9 5.0 5.1'
 minimumhgversion = b'4.5'
 buglink = b'https://bz.mercurial-scm.org/'
--- a/hgext3rd/evolve/obsexchange.py	Sat Oct 26 22:44:06 2019 +0700
+++ b/hgext3rd/evolve/obsexchange.py	Thu Nov 07 10:29:03 2019 +0100
@@ -7,17 +7,11 @@
 
 from __future__ import absolute_import
 
-try:
-    from StringIO import StringIO
-except ImportError:
-    from io import StringIO
-
 from mercurial import (
     bundle2,
     error,
     exchange,
     extensions,
-    lock as lockmod,
     node,
     obsolete,
     pushkey,
@@ -35,7 +29,6 @@
 eh = exthelper.exthelper()
 eh.merge(obsdiscovery.eh)
 obsexcmsg = utility.obsexcmsg
-obsexcprg = utility.obsexcprg
 
 eh.configitem(b'experimental', b'verbose-obsolescence-exchange', False)
 
@@ -156,82 +149,6 @@
         return _obscommon_capabilities(oldcap, repo, proto)
     wireprotov1server.commands[b'capabilities'] = (newcap, args)
 
-def _pushobsmarkers(repo, data):
-    tr = lock = None
-    try:
-        lock = repo.lock()
-        tr = repo.transaction(b'pushkey: obsolete markers')
-        new = repo.obsstore.mergemarkers(tr, data)
-        if new is not None:
-            obsexcmsg(repo.ui, b"%i obsolescence markers added\n" % new, True)
-        tr.close()
-    finally:
-        lockmod.release(tr, lock)
-    repo.hook(b'evolve_pushobsmarkers')
-
-def srv_pushobsmarkers(repo, proto):
-    """wireprotocol command"""
-    fp = StringIO()
-    proto.redirect()
-    proto.getfile(fp)
-    data = fp.getvalue()
-    fp.close()
-    _pushobsmarkers(repo, data)
-    try:
-        from mercurial import wireprototypes
-        wireprototypes.pushres # force demandimport
-    except (ImportError, AttributeError):
-        from mercurial import wireproto as wireprototypes
-    return wireprototypes.pushres(0)
-
-def _getobsmarkersstream(repo, heads=None, common=None):
-    """Get a binary stream for all markers relevant to `::<heads> - ::<common>`
-    """
-    revset = b''
-    args = []
-    repo = repo.unfiltered()
-    if heads is None:
-        revset = b'all()'
-    elif heads:
-        revset += b"(::%ln)"
-        args.append(heads)
-    else:
-        assert False, b'pulling no heads?'
-    if common:
-        revset += b' - (::%ln)'
-        args.append(common)
-    nodes = [c.node() for c in repo.set(revset, *args)]
-    markers = repo.obsstore.relevantmarkers(nodes)
-    obsdata = StringIO()
-    for chunk in obsolete.encodemarkers(markers, True):
-        obsdata.write(chunk)
-    obsdata.seek(0)
-    return obsdata
-
-def srv_pullobsmarkers(repo, proto, others):
-    """serves a binary stream of markers.
-
-    Serves relevant to changeset between heads and common. The stream is prefix
-    by a -string- representation of an integer. This integer is the size of the
-    stream."""
-    try:
-        from mercurial import wireprototypes, wireprotov1server
-        wireprototypes.pushres # force demandimport
-    except (ImportError, AttributeError):
-        from mercurial import wireproto as wireprototypes
-        wireprotov1server = wireprototypes
-    opts = wireprotov1server.options(b'', [b'heads', b'common'], others)
-    for k, v in opts.items():
-        if k in (b'heads', b'common'):
-            opts[k] = wireprototypes.decodelist(v)
-    obsdata = _getobsmarkersstream(repo, **opts)
-    finaldata = StringIO()
-    obsdata = obsdata.getvalue()
-    finaldata.write(b'%20i' % len(obsdata))
-    finaldata.write(obsdata)
-    finaldata.seek(0)
-    return wireprototypes.streamres(reader=finaldata, v1compressible=True)
-
 abortmsg = b"won't exchange obsmarkers through pushkey"
 hint = b"upgrade your client or server to use the bundle2 protocol"
 
--- a/hgext3rd/evolve/obshistory.py	Sat Oct 26 22:44:06 2019 +0700
+++ b/hgext3rd/evolve/obshistory.py	Thu Nov 07 10:29:03 2019 +0100
@@ -50,7 +50,8 @@
      (b'p', b'patch', False, _(b'show the patch between two obs versions')),
      (b'f', b'filternonlocal', False, _(b'filter out non local commits')),
      ] + commands.formatteropts,
-    _(b'hg olog [OPTION]... [[-r] REV]...'))
+    _(b'hg olog [OPTION]... [[-r] REV]...'),
+    **compat.helpcategorykwargs('CATEGORY_CHANGE_NAVIGATION'))
 def cmdobshistory(ui, repo, *revs, **opts):
     """show the obsolescence history of the specified revisions
 
@@ -477,12 +478,12 @@
         shortdescription = shortdescription.splitlines()[0]
 
     fm.startitem()
+    fm.context(ctx=ctx)
     fm.write(b'node', b'%s', bytes(ctx),
              label=b"evolve.node")
     fm.plain(b' ')
 
-    fm.write(b'rev', b'(%d)', ctx.rev(),
-             label=b"evolve.rev")
+    fm.plain(b'(%d)' % ctx.rev(), label=b"evolve.rev")
     fm.plain(b' ')
 
     fm.write(b'shortdescription', b'%s', shortdescription,
--- a/hgext3rd/evolve/rewind.py	Sat Oct 26 22:44:06 2019 +0700
+++ b/hgext3rd/evolve/rewind.py	Thu Nov 07 10:29:03 2019 +0100
@@ -36,7 +36,8 @@
       _(b"do not modify working directory during rewind")),
      ],
     _(b'[--as-divergence] [--exact] [--keep] [--to REV]... [--from REV]...'),
-    helpbasic=True)
+    helpbasic=True,
+    **compat.helpcategorykwargs('CATEGORY_CHANGE_MANAGEMENT'))
 def rewind(ui, repo, **opts):
     """rewind a stack of changesets to a previous state
 
--- a/hgext3rd/evolve/utility.py	Sat Oct 26 22:44:06 2019 +0700
+++ b/hgext3rd/evolve/utility.py	Thu Nov 07 10:29:03 2019 +0100
@@ -13,10 +13,6 @@
 
 from mercurial.node import nullrev
 
-from . import (
-    compat,
-)
-
 shorttemplate = b"[{label('evolve.rev', rev)}] {desc|firstline}\n"
 stacktemplate = b"""[{label('evolve.rev', if(topicidx, "s{topicidx}", rev))}] {desc|firstline}\n"""
 
@@ -27,12 +23,6 @@
     if important or verbose:
         ui.status(message)
 
-def obsexcprg(ui, *args, **kwargs):
-    topic = b'obsmarkers exchange'
-    if ui.configbool(b'experimental', b'verbose-obsolescence-exchange'):
-        topic = b'OBSEXC'
-    compat.progress(ui, topic, *args, **kwargs)
-
 def filterparents(parents):
     """filter nullrev parents
 
--- a/hgext3rd/topic/__init__.py	Sat Oct 26 22:44:06 2019 +0700
+++ b/hgext3rd/topic/__init__.py	Thu Nov 07 10:29:03 2019 +0100
@@ -187,7 +187,7 @@
               b'topic.active': b'green',
               }
 
-__version__ = b'0.17.2.dev'
+__version__ = b'0.18.0.dev'
 
 testedwith = b'4.5.2 4.6.2 4.7 4.8 4.9 5.0 5.1'
 minimumhgversion = b'4.5'
@@ -634,7 +634,8 @@
         (b'', b'age', False, b'show when you last touched the topics'),
         (b'', b'current', None, b'display the current topic only'),
     ] + commands.formatteropts,
-    _(b'hg topics [OPTION]... [-r REV]... [TOPIC]'))
+    _(b'hg topics [OPTION]... [-r REV]... [TOPIC]'),
+    **compat.helpcategorykwargs('CATEGORY_CHANGE_ORGANIZATION'))
 def topics(ui, repo, topic=None, **opts):
     """View current topic, set current topic, change topic for a set of revisions, or see all topics.
 
@@ -777,7 +778,8 @@
         (b'c', b'children', None,
             _(b'display data about children outside of the stack'))
     ] + commands.formatteropts,
-    _(b'hg stack [TOPIC]'))
+    _(b'hg stack [TOPIC]'),
+    **compat.helpcategorykwargs('CATEGORY_CHANGE_NAVIGATION'))
 def cmdstack(ui, repo, topic=b'', **opts):
     """list all changesets in a topic and other information
 
--- a/hgext3rd/topic/compat.py	Sat Oct 26 22:44:06 2019 +0700
+++ b/hgext3rd/topic/compat.py	Thu Nov 07 10:29:03 2019 +0100
@@ -10,6 +10,7 @@
 from mercurial import (
     obsolete,
     pycompat,
+    registrar,
 )
 
 getmarkers = None
@@ -34,3 +35,12 @@
     def branchmapitems(branchmap):
         return branchmap.iteritems()
     # py3-transform: on
+
+# help category compatibility
+# hg <= 4.7 (c303d65d2e34)
+def helpcategorykwargs(categoryname):
+    """Backwards-compatible specification of the helpategory argument."""
+    category = getattr(registrar.command, categoryname, None)
+    if not category:
+        return {}
+    return {'helpcategory': category}
--- a/tests/test-evolve-cycles.t	Sat Oct 26 22:44:06 2019 +0700
+++ b/tests/test-evolve-cycles.t	Thu Nov 07 10:29:03 2019 +0100
@@ -314,7 +314,6 @@
               }
           ],
           "node": "868d2e0eb19c",
-          "rev": 4,
           "shortdescription": "D"
       },
       {
@@ -338,7 +337,6 @@
               }
           ],
           "node": "d9f908fde1a1",
-          "rev": 6,
           "shortdescription": "F"
       },
       {
@@ -362,7 +360,6 @@
               }
           ],
           "node": "0da815c333f6",
-          "rev": 5,
           "shortdescription": "E"
       },
       {
@@ -387,7 +384,6 @@
               }
           ],
           "node": "a8df460dbbfe",
-          "rev": 3,
           "shortdescription": "C"
       },
       {
@@ -411,7 +407,6 @@
               }
           ],
           "node": "c473644ee0e9",
-          "rev": 2,
           "shortdescription": "B"
       },
       {
@@ -435,7 +430,6 @@
               }
           ],
           "node": "2a34000d3544",
-          "rev": 1,
           "shortdescription": "A"
       }
   ]
--- a/tests/test-evolve-obshistory-amend-then-fold.t	Sat Oct 26 22:44:06 2019 +0700
+++ b/tests/test-evolve-obshistory-amend-then-fold.t	Thu Nov 07 10:29:03 2019 +0100
@@ -153,7 +153,6 @@
       {
           "markers": [],
           "node": "eb5a0daa2192",
-          "rev": 4,
           "shortdescription": "C0"
       },
       {
@@ -177,7 +176,6 @@
               }
           ],
           "node": "b7ea6d14e664",
-          "rev": 3,
           "shortdescription": "B1"
       },
       {
@@ -199,7 +197,6 @@
               }
           ],
           "node": "0dec01379d3b",
-          "rev": 2,
           "shortdescription": "B0"
       },
       {
@@ -222,7 +219,6 @@
               }
           ],
           "node": "471f378eab4c",
-          "rev": 1,
           "shortdescription": "A0"
       }
   ]
--- a/tests/test-evolve-obshistory-amend.t	Sat Oct 26 22:44:06 2019 +0700
+++ b/tests/test-evolve-obshistory-amend.t	Thu Nov 07 10:29:03 2019 +0100
@@ -111,6 +111,13 @@
       +42
       
 
+  $ hg obslog 4ae3a4151de9 --graph -T'{label("log.summary", desc|firstline)} {if(markers, join(markers % "at {date|hgdate} by {user|person} ", " also "))}'
+  @  A1
+  |
+  x  A0 at 0 0 by test
+  
+
+Check that the same thing works with the old {shortdescription} form
   $ hg obslog 4ae3a4151de9 --graph -T'{label("log.summary", shortdescription)} {if(markers, join(markers % "at {date|hgdate} by {user|person} ", " also "))}'
   @  A1
   |
@@ -121,7 +128,6 @@
       {
           "markers": [],
           "node": "4ae3a4151de9",
-          "rev": 2,
           "shortdescription": "A1"
       },
       {
@@ -144,7 +150,6 @@
               }
           ],
           "node": "471f378eab4c",
-          "rev": 1,
           "shortdescription": "A0"
       }
   ]
@@ -190,7 +195,6 @@
               }
           ],
           "node": "471f378eab4c",
-          "rev": 1,
           "shortdescription": "A0"
       }
   ]
--- a/tests/test-evolve-obshistory-content-divergent.t	Sat Oct 26 22:44:06 2019 +0700
+++ b/tests/test-evolve-obshistory-content-divergent.t	Thu Nov 07 10:29:03 2019 +0100
@@ -156,7 +156,6 @@
               }
           ],
           "node": "471f378eab4c",
-          "rev": 1,
           "shortdescription": "A0"
       }
   ]
@@ -285,7 +284,6 @@
       {
           "markers": [],
           "node": "65b757b745b9",
-          "rev": 3,
           "shortdescription": "A2"
       },
       {
@@ -322,13 +320,11 @@
               }
           ],
           "node": "471f378eab4c",
-          "rev": 1,
           "shortdescription": "A0"
       },
       {
           "markers": [],
           "node": "fdf9bde5129a",
-          "rev": 2,
           "shortdescription": "A1"
       }
   ]
--- a/tests/test-evolve-obshistory-fold.t	Sat Oct 26 22:44:06 2019 +0700
+++ b/tests/test-evolve-obshistory-fold.t	Thu Nov 07 10:29:03 2019 +0100
@@ -173,7 +173,6 @@
       {
           "markers": [],
           "node": "eb5a0daa2192",
-          "rev": 3,
           "shortdescription": "C0"
       },
       {
@@ -196,7 +195,6 @@
               }
           ],
           "node": "471f378eab4c",
-          "rev": 1,
           "shortdescription": "A0"
       },
       {
@@ -220,7 +218,6 @@
               }
           ],
           "node": "0dec01379d3b",
-          "rev": 2,
           "shortdescription": "B0"
       }
   ]
--- a/tests/test-evolve-obshistory-lots-of-splits.t	Sat Oct 26 22:44:06 2019 +0700
+++ b/tests/test-evolve-obshistory-lots-of-splits.t	Thu Nov 07 10:29:03 2019 +0100
@@ -217,7 +217,6 @@
               }
           ],
           "node": "de7290d8b885",
-          "rev": 1,
           "shortdescription": "A0"
       }
   ]
@@ -233,7 +232,6 @@
       {
           "markers": [],
           "node": "c7f044602e9b",
-          "rev": 5,
           "shortdescription": "A0"
       },
       {
@@ -259,7 +257,6 @@
               }
           ],
           "node": "de7290d8b885",
-          "rev": 1,
           "shortdescription": "A0"
       }
   ]
--- a/tests/test-evolve-obshistory-phase-divergent.t	Sat Oct 26 22:44:06 2019 +0700
+++ b/tests/test-evolve-obshistory-phase-divergent.t	Thu Nov 07 10:29:03 2019 +0100
@@ -114,7 +114,6 @@
               }
           ],
           "node": "471f378eab4c",
-          "rev": 1,
           "shortdescription": "A0"
       }
   ]
@@ -197,7 +196,6 @@
       {
           "markers": [],
           "node": "fdf9bde5129a",
-          "rev": 2,
           "shortdescription": "A1"
       },
       {
@@ -219,7 +217,6 @@
               }
           ],
           "node": "471f378eab4c",
-          "rev": 1,
           "shortdescription": "A0"
       }
   ]
--- a/tests/test-evolve-obshistory-prune.t	Sat Oct 26 22:44:06 2019 +0700
+++ b/tests/test-evolve-obshistory-prune.t	Thu Nov 07 10:29:03 2019 +0100
@@ -83,7 +83,6 @@
               }
           ],
           "node": "0dec01379d3b",
-          "rev": 2,
           "shortdescription": "B0"
       }
   ]
@@ -95,7 +94,6 @@
       {
           "markers": [],
           "node": "471f378eab4c",
-          "rev": 1,
           "shortdescription": "A0"
       }
   ]
--- a/tests/test-evolve-obshistory-split.t	Sat Oct 26 22:44:06 2019 +0700
+++ b/tests/test-evolve-obshistory-split.t	Thu Nov 07 10:29:03 2019 +0100
@@ -134,7 +134,6 @@
               }
           ],
           "node": "471597cad322",
-          "rev": 1,
           "shortdescription": "A0"
       }
   ]
--- a/tests/test-evolve-obshistory.t	Sat Oct 26 22:44:06 2019 +0700
+++ b/tests/test-evolve-obshistory.t	Thu Nov 07 10:29:03 2019 +0100
@@ -168,3 +168,12 @@
        [evolve.verb|rewritten](description) as [evolve.node|fdf9bde5129a] using [evolve.operation|amend] by [evolve.user|test] [evolve.date|(Thu Jan 01 00:00:00 1970 +0000)]
          (No patch available, successor is unknown locally)
   
+
+  $ hg obslog 7a230b46bf61 --graph \
+  > -T '{node} {rev} {desc|firstline}\n{markers % "rewritten using {operation}"}\n'
+  o  7a230b46bf61 2 A2
+  |
+  x  fdf9bde5129a
+  |  rewritten using amend
+  @  471f378eab4c 1 A0
+     rewritten using amend
--- a/tests/test-evolve-orphan-merge.t	Sat Oct 26 22:44:06 2019 +0700
+++ b/tests/test-evolve-orphan-merge.t	Thu Nov 07 10:29:03 2019 +0100
@@ -134,11 +134,18 @@
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     merging a and b
   
+
+Clean up to prepare for next test case
+  $ hg prune -r 64370c9805e7 -r 3d41537b44ca -r 968d205ba4d8
+  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
+  working directory is now at 8fa14d15e168
+  3 changesets pruned
+
 2) When merging both the parents resulted in conflicts
 ------------------------------------------------------
 
   $ hg up 8fa14d15e168
-  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
   $ echo foo > c
   $ hg ci -Aqm "foo to c"
   $ hg prev
@@ -152,24 +159,6 @@
   |   () draft
   | o  8:1c165c673853 foo to c
   |/    () draft
-  | o    7:968d205ba4d8 merging a and b
-  | |\    () draft
-  +---o  6:3d41537b44ca added a
-  | |     () draft
-  | o  4:64370c9805e7 added b
-  |/    () draft
-  o  0:8fa14d15e168 added hgignore
-      () draft
-
-Prune old test changesets to have clear graph view
-  $ hg prune -r 64370c9805e7 -r 3d41537b44ca -r 968d205ba4d8
-  3 changesets pruned
-
-  $ hg glog
-  @  9:d0f84b25d4e3 bar to c
-  |   () draft
-  | o  8:1c165c673853 foo to c
-  |/    () draft
   o  0:8fa14d15e168 added hgignore
       () draft
 
--- a/tests/test-topic.t	Sat Oct 26 22:44:06 2019 +0700
+++ b/tests/test-topic.t	Thu Nov 07 10:29:03 2019 +0100
@@ -122,10 +122,15 @@
   
   list of commands:
   
-   stack         list all changesets in a topic and other information
+  Change organization:
+  
    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]