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> | ||||
# | ||||
Martin Geisler
|
r8225 | # This software may be used and distributed according to the terms of the | ||
# GNU General Public License version 2, incorporated herein by reference. | ||||
Thomas Arendsen Hein
|
r4783 | |||
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): | ||||
Martin Geisler
|
r8026 | """show the children of the given or working directory revision | ||
Thomas Arendsen Hein
|
r4783 | |||
Martin Geisler
|
r7986 | Print the children of the working directory's revisions. If a | ||
Martin Geisler
|
r8076 | revision is given via --rev/-r, 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 | ||||
Martin Geisler
|
r7986 | argument to --rev if given) is printed. | ||
Thomas Arendsen Hein
|
r4783 | """ | ||
rev = opts.get('rev') | ||||
if file_: | ||||
ctx = repo.filectx(file_, changeid=rev) | ||||
else: | ||||
Matt Mackall
|
r6747 | ctx = repo[rev] | ||
Thomas Arendsen Hein
|
r4783 | |||
displayer = cmdutil.show_changeset(ui, repo, opts) | ||||
Dirkjan Ochtman
|
r7369 | for cctx in ctx.children(): | ||
displayer.show(cctx) | ||||
Thomas Arendsen Hein
|
r4783 | |||
cmdtable = { | ||||
"children": | ||||
(children, | ||||
Martin Geisler
|
r8028 | [('r', 'rev', '', _('show children of the specified revision')), | ||
Thomas Arendsen Hein
|
r6192 | ] + templateopts, | ||
Thomas Arendsen Hein
|
r4783 | _('hg children [-r REV] [FILE]')), | ||
} | ||||