Mercurial > hg
view hgext/children.py @ 33137:99ce2f586cd4
show: config option to register aliases for views
As part of using `hg show` in my daily workflow, I've found it slightly
annoying to have to type full view names, complete with a space. I've
locally registered an alias for "swork = show work."
I think others will have this same complaint and could benefit from
some automation to streamline the creation of aliases. So, this
commit introduces a config option that allows `hg show` views to be
automatically aliased using a given prefix. e.g. a value of "s"
will automatically register "swork" and "sbookmarks." Multiple
values can be given for ultimate flexibility. This arguably isn't
needed now. But since we don't register aliases if there will be
a collision and we're bound to have a collision, it makes sense to
allow multiple prefixes so specific views can avoid collisions by
using different prefixes.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sun, 25 Jun 2017 22:20:37 -0700 |
parents | 04baab18d60a |
children | d2554ef04d26 |
line wrap: on
line source
# Mercurial extension to provide the 'hg children' command # # Copyright 2007 by Intevation GmbH <intevation@intevation.de> # # Author(s): # Thomas Arendsen Hein <thomas@intevation.de> # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. '''command to display child changesets (DEPRECATED) This extension is deprecated. You should use :hg:`log -r "children(REV)"` instead. ''' from __future__ import absolute_import from mercurial.i18n import _ from mercurial import ( cmdutil, registrar, ) templateopts = cmdutil.templateopts cmdtable = {} command = registrar.command(cmdtable) # Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should # be specifying the version(s) of Mercurial they are tested with, or # leave the attribute unspecified. testedwith = 'ships-with-hg-core' @command('children', [('r', 'rev', '', _('show children of the specified revision'), _('REV')), ] + templateopts, _('hg children [-r REV] [FILE]'), inferrepo=True) def children(ui, repo, file_=None, **opts): """show the children of the given or working directory revision Print the children of the working directory's revisions. If a revision is given via -r/--rev, the children of that revision will be printed. If a file argument is given, revision in which the file was last changed (after the working directory revision or the argument to --rev if given) is printed. Please use :hg:`log` instead:: hg children => hg log -r "children()" hg children -r REV => hg log -r "children(REV)" See :hg:`help log` and :hg:`help revsets.children`. """ rev = opts.get('rev') if file_: fctx = repo.filectx(file_, changeid=rev) childctxs = [fcctx.changectx() for fcctx in fctx.children()] else: ctx = repo[rev] childctxs = ctx.children() displayer = cmdutil.show_changeset(ui, repo, opts) for cctx in childctxs: displayer.show(cctx) displayer.close()