children.py
41 lines
| 1.3 KiB
| text/x-python
|
PythonLexer
/ hgext / children.py
Thomas Arendsen Hein
|
r4783 | # 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, incorporated herein by reference. | ||||
Thomas Arendsen Hein
|
r4785 | from mercurial import cmdutil | ||
Thomas Arendsen Hein
|
r6192 | from mercurial.commands import templateopts | ||
Thomas Arendsen Hein
|
r4783 | from mercurial.i18n import _ | ||
def children(ui, repo, file_=None, **opts): | ||||
"""show the children of the given or working dir revision | ||||
Print the children of the working directory's revisions. | ||||
If a revision is given via --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. | ||||
""" | ||||
rev = opts.get('rev') | ||||
if file_: | ||||
ctx = repo.filectx(file_, changeid=rev) | ||||
else: | ||||
ctx = repo.changectx(rev) | ||||
displayer = cmdutil.show_changeset(ui, repo, opts) | ||||
for node in [cp.node() for cp in ctx.children()]: | ||||
displayer.show(changenode=node) | ||||
cmdtable = { | ||||
"children": | ||||
(children, | ||||
[('r', 'rev', '', _('show children of the specified rev')), | ||||
Thomas Arendsen Hein
|
r6192 | ] + templateopts, | ||
Thomas Arendsen Hein
|
r4783 | _('hg children [-r REV] [FILE]')), | ||
} | ||||