--- a/hgext3rd/evolve/__init__.py Sat Mar 04 01:43:36 2017 +0100
+++ b/hgext3rd/evolve/__init__.py Sat Mar 04 03:37:32 2017 +0100
@@ -130,9 +130,6 @@
obsexcmsg = serveronly.obsexcmsg
-cmdtable = {}
-command = cmdutil.command(cmdtable)
-
_pack = struct.pack
_unpack = struct.unpack
@@ -154,6 +151,7 @@
uisetup = eh.final_uisetup
extsetup = eh.final_extsetup
reposetup = eh.final_reposetup
+cmdtable = eh.cmdtable
eh.extsetup(serveronly.extsetup)
@@ -816,7 +814,7 @@
ui.warn(deprecationwarning)
util.checksignature(fn)(*args, **kwargs)
newfn.__doc__ = deprecationwarning
- cmdwrapper = command(oldalias, opts, synopsis)
+ cmdwrapper = eh.command(oldalias, opts, synopsis)
cmdwrapper(newfn)
@eh.extsetup
@@ -824,7 +822,7 @@
_deprecatealias('gup', 'next')
_deprecatealias('gdown', 'previous')
-@command('debugrecordpruneparents', [], '')
+@eh.command('debugrecordpruneparents', [], '')
def cmddebugrecordpruneparents(ui, repo):
"""add parent data to prune markers when possible
@@ -861,7 +859,7 @@
finally:
lockmod.release(tr, lock, wlock)
-@command('debugobsstorestat', [], '')
+@eh.command('debugobsstorestat', [], '')
def cmddebugobsstorestat(ui, repo):
"""print statistics about obsolescence markers in the repo"""
def _updateclustermap(nodes, mark, clustersmap):
@@ -1343,24 +1341,26 @@
fm.end()
-@command('^evolve|stabilize|solve',
- [('n', 'dry-run', False,
- _('do not perform actions, just print what would be done')),
- ('', 'confirm', False,
- _('ask for confirmation before performing the action')),
- ('A', 'any', False,
- _('also consider troubled changesets unrelated to current working '
- 'directory')),
- ('r', 'rev', [], _('solves troubles of these revisions')),
- ('', 'bumped', False, _('solves only bumped changesets')),
- ('', 'divergent', False, _('solves only divergent changesets')),
- ('', 'unstable', False, _('solves only unstable changesets (default)')),
- ('a', 'all', False, _('evolve all troubled changesets related to the '
- 'current working directory and its descendants')),
- ('c', 'continue', False, _('continue an interrupted evolution')),
- ('l', 'list', False, 'provide details on troubled changesets in the repo'),
- ] + mergetoolopts,
- _('[OPTIONS]...'))
+@eh.command(
+ '^evolve|stabilize|solve',
+ [('n', 'dry-run', False,
+ _('do not perform actions, just print what would be done')),
+ ('', 'confirm', False,
+ _('ask for confirmation before performing the action')),
+ ('A', 'any', False,
+ _('also consider troubled changesets unrelated to current working '
+ 'directory')),
+ ('r', 'rev', [], _('solves troubles of these revisions')),
+ ('', 'bumped', False, _('solves only bumped changesets')),
+ ('', 'divergent', False, _('solves only divergent changesets')),
+ ('', 'unstable', False, _('solves only unstable changesets (default)')),
+ ('a', 'all', False, _('evolve all troubled changesets related to the '
+ 'current working directory and its descendants')),
+ ('c', 'continue', False, _('continue an interrupted evolution')),
+ ('l', 'list', False, 'provide details on troubled changesets in the repo'),
+ ] + mergetoolopts,
+ _('[OPTIONS]...')
+)
def evolve(ui, repo, **opts):
"""solve troubled changesets in your repository
@@ -1906,14 +1906,15 @@
shorttemplate = '[{rev}] {desc|firstline}\n'
-@command('^previous',
- [('B', 'move-bookmark', False,
- _('move active bookmark after update')),
- ('', 'merge', False, _('bring uncommitted change along')),
- ('', 'no-topic', False, _('ignore topic and move topologically')),
- ('n', 'dry-run', False,
- _('do not perform actions, just print what would be done'))],
- '[OPTION]...')
+@eh.command(
+ '^previous',
+ [('B', 'move-bookmark', False,
+ _('move active bookmark after update')),
+ ('', 'merge', False, _('bring uncommitted change along')),
+ ('', 'no-topic', False, _('ignore topic and move topologically')),
+ ('n', 'dry-run', False,
+ _('do not perform actions, just print what would be done'))],
+ '[OPTION]...')
def cmdprevious(ui, repo, **opts):
"""update to parent revision
@@ -1976,15 +1977,16 @@
finally:
lockmod.release(wlock)
-@command('^next',
- [('B', 'move-bookmark', False,
- _('move active bookmark after update')),
- ('', 'merge', False, _('bring uncommitted change along')),
- ('', 'evolve', False, _('evolve the next changeset if necessary')),
- ('', 'no-topic', False, _('ignore topic and move topologically')),
- ('n', 'dry-run', False,
- _('do not perform actions, just print what would be done'))],
- '[OPTION]...')
+@eh.command(
+ '^next',
+ [('B', 'move-bookmark', False,
+ _('move active bookmark after update')),
+ ('', 'merge', False, _('bring uncommitted change along')),
+ ('', 'evolve', False, _('evolve the next changeset if necessary')),
+ ('', 'no-topic', False, _('ignore topic and move topologically')),
+ ('n', 'dry-run', False,
+ _('do not perform actions, just print what would be done'))],
+ '[OPTION]...')
def cmdnext(ui, repo, **opts):
"""update to next child revision
@@ -2131,19 +2133,20 @@
metadata['user'] = user
return metadata
-@command('^prune|obsolete',
- [('n', 'new', [], _("successor changeset (DEPRECATED)")),
- ('s', 'succ', [], _("successor changeset")),
- ('r', 'rev', [], _("revisions to prune")),
- ('k', 'keep', None, _("does not modify working copy during prune")),
- ('', 'biject', False, _("do a 1-1 map between rev and successor ranges")),
- ('', 'fold', False,
- _("record a fold (multiple precursors, one successors)")),
- ('', 'split', False,
- _("record a split (on precursor, multiple successors)")),
- ('B', 'bookmark', [], _("remove revs only reachable from given"
- " bookmark"))] + metadataopts,
- _('[OPTION] [-r] REV...'))
+@eh.command(
+ '^prune|obsolete',
+ [('n', 'new', [], _("successor changeset (DEPRECATED)")),
+ ('s', 'succ', [], _("successor changeset")),
+ ('r', 'rev', [], _("revisions to prune")),
+ ('k', 'keep', None, _("does not modify working copy during prune")),
+ ('', 'biject', False, _("do a 1-1 map between rev and successor ranges")),
+ ('', 'fold', False,
+ _("record a fold (multiple precursors, one successors)")),
+ ('', 'split', False,
+ _("record a split (on precursor, multiple successors)")),
+ ('B', 'bookmark', [], _("remove revs only reachable from given"
+ " bookmark"))] + metadataopts,
+ _('[OPTION] [-r] REV...'))
# XXX -U --noupdate option to prevent wc update and or bookmarks update ?
def cmdprune(ui, repo, *revs, **opts):
"""hide changesets by marking them obsolete
@@ -2314,15 +2317,16 @@
finally:
lockmod.release(tr, lock, wlock)
-@command('amend|refresh',
- [('A', 'addremove', None,
- _('mark new/missing files as added/removed before committing')),
- ('e', 'edit', False, _('invoke editor on commit messages')),
- ('', 'close-branch', None,
- _('mark a branch as closed, hiding it from the branch list')),
- ('s', 'secret', None, _('use the secret phase for committing')),
- ] + walkopts + commitopts + commitopts2 + commitopts3 + interactiveopt,
- _('[OPTION]... [FILE]...'))
+@eh.command(
+ 'amend|refresh',
+ [('A', 'addremove', None,
+ _('mark new/missing files as added/removed before committing')),
+ ('e', 'edit', False, _('invoke editor on commit messages')),
+ ('', 'close-branch', None,
+ _('mark a branch as closed, hiding it from the branch list')),
+ ('s', 'secret', None, _('use the secret phase for committing')),
+ ] + walkopts + commitopts + commitopts2 + commitopts3 + interactiveopt,
+ _('[OPTION]... [FILE]...'))
def amend(ui, repo, *pats, **opts):
"""combine a changeset with updates and replace it with a new one
@@ -2454,11 +2458,12 @@
src = None
ds.copy(src, dst)
-@command('^uncommit',
- [('a', 'all', None, _('uncommit all changes when no arguments given')),
- ('r', 'rev', '', _('revert commit content to REV instead')),
- ] + commands.walkopts,
- _('[OPTION]... [NAME]'))
+@eh.command(
+ '^uncommit',
+ [('a', 'all', None, _('uncommit all changes when no arguments given')),
+ ('r', 'rev', '', _('revert commit content to REV instead')),
+ ] + commands.walkopts,
+ _('[OPTION]... [NAME]'))
def uncommit(ui, repo, *pats, **opts):
"""move changes from parent revision to working directory
@@ -2568,10 +2573,11 @@
finally:
lockmod.release(tr, lock, wlock)
-@command('^split',
- [('r', 'rev', [], _("revision to split")),
- ] + commitopts + commitopts2,
- _('hg split [OPTION]... [-r] REV'))
+@eh.command(
+ '^split',
+ [('r', 'rev', [], _("revision to split")),
+ ] + commitopts + commitopts2,
+ _('hg split [OPTION]... [-r] REV'))
def cmdsplit(ui, repo, *revs, **opts):
"""split a changeset into smaller changesets
@@ -2675,15 +2681,16 @@
kwargs['biject'] = False
return cmdprune(ui, repo, *revs, **kwargs)
-@command('^touch',
- [('r', 'rev', [], 'revision to update'),
- ('D', 'duplicate', False,
- 'do not mark the new revision as successor of the old one'),
- ('A', 'allowdivergence', False,
- 'mark the new revision as successor of the old one potentially creating '
- 'divergence')],
- # allow to choose the seed ?
- _('[-r] revs'))
+@eh.command(
+ '^touch',
+ [('r', 'rev', [], 'revision to update'),
+ ('D', 'duplicate', False,
+ 'do not mark the new revision as successor of the old one'),
+ ('A', 'allowdivergence', False,
+ 'mark the new revision as successor of the old one potentially creating '
+ 'divergence')],
+ # allow to choose the seed ?
+ _('[-r] revs'))
def touch(ui, repo, *revs, **opts):
"""create successors that are identical to their predecessors except
for the changeset ID
@@ -2761,12 +2768,13 @@
finally:
lockmod.release(tr, lock, wlock)
-@command('^fold|squash',
- [('r', 'rev', [], _("revision to fold")),
- ('', 'exact', None, _("only fold specified revisions")),
- ('', 'from', None, _("fold revisions linearly to working copy parent"))
- ] + commitopts + commitopts2,
- _('hg fold [OPTION]... [-r] REV'))
+@eh.command(
+ '^fold|squash',
+ [('r', 'rev', [], _("revision to fold")),
+ ('', 'exact', None, _("only fold specified revisions")),
+ ('', 'from', None, _("fold revisions linearly to working copy parent"))
+ ] + commitopts + commitopts2,
+ _('hg fold [OPTION]... [-r] REV'))
def fold(ui, repo, *revs, **opts):
"""fold multiple revisions into a single one
@@ -2874,11 +2882,12 @@
finally:
lockmod.release(lock, wlock)
-@command('^metaedit',
- [('r', 'rev', [], _("revision to edit")),
- ('', 'fold', None, _("also fold specified revisions into one")),
- ] + commitopts + commitopts2,
- _('hg metaedit [OPTION]... [-r] [REV]'))
+@eh.command(
+ '^metaedit',
+ [('r', 'rev', [], _("revision to edit")),
+ ('', 'fold', None, _("also fold specified revisions into one")),
+ ] + commitopts + commitopts2,
+ _('hg metaedit [OPTION]... [-r] [REV]'))
def metaedit(ui, repo, *revs, **opts):
"""edit commit information
@@ -3426,9 +3435,10 @@
return serveronly._getobsmarkersstream(self._repo, heads=heads,
common=common)
-@command('debugobsrelsethashtree',
- [('', 'v0', None, 'hash on marker format "0"'),
- ('', 'v1', None, 'hash on marker format "1" (default)')], _(''))
+@eh.command(
+ 'debugobsrelsethashtree',
+ [('', 'v0', None, 'hash on marker format "0"'),
+ ('', 'v1', None, 'hash on marker format "1" (default)')], _(''))
def debugobsrelsethashtree(ui, repo, v0=False, v1=False):
"""display Obsolete markers, Relevant Set, Hash Tree
changeset-node obsrelsethashtree-node
@@ -3463,7 +3473,7 @@
hint = _('You should run `hg debugobsconvert`')
raise error.Abort(msg, hint=hint)
-@command(
+@eh.command(
'debugobsconvert',
[('', 'new-format', _bestformat, _('Destination format for markers.'))],
'')