Mercurial > hg
comparison hgext/children.py @ 4783:8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Tue, 03 Jul 2007 12:14:25 +0200 |
parents | |
children | be78ab217109 |
comparison
equal
deleted
inserted
replaced
4782:37e11c768db9 | 4783:8b90d763ea90 |
---|---|
1 # Mercurial extension to provide the 'hg children' command | |
2 # | |
3 # Copyright 2007 by Intevation GmbH <intevation@intevation.de> | |
4 # Author(s): | |
5 # Thomas Arendsen Hein <thomas@intevation.de> | |
6 # | |
7 # This software may be used and distributed according to the terms | |
8 # of the GNU General Public License, incorporated herein by reference. | |
9 | |
10 from mercurial import cmdutil, util | |
11 from mercurial.i18n import _ | |
12 from mercurial.node import nullid | |
13 | |
14 | |
15 def children(ui, repo, file_=None, **opts): | |
16 """show the children of the given or working dir revision | |
17 | |
18 Print the children of the working directory's revisions. | |
19 If a revision is given via --rev, the children of that revision | |
20 will be printed. If a file argument is given, revision in | |
21 which the file was last changed (after the working directory | |
22 revision or the argument to --rev if given) is printed. | |
23 """ | |
24 rev = opts.get('rev') | |
25 if file_: | |
26 ctx = repo.filectx(file_, changeid=rev) | |
27 else: | |
28 ctx = repo.changectx(rev) | |
29 if ctx.node() == nullid: | |
30 raise util.Abort(_("All non-merge changesets are children of " | |
31 "the null revision!")) | |
32 | |
33 displayer = cmdutil.show_changeset(ui, repo, opts) | |
34 for node in [cp.node() for cp in ctx.children()]: | |
35 displayer.show(changenode=node) | |
36 | |
37 | |
38 cmdtable = { | |
39 "children": | |
40 (children, | |
41 [('r', 'rev', '', _('show children of the specified rev')), | |
42 ('', 'style', '', _('display using template map file')), | |
43 ('', 'template', '', _('display with template'))], | |
44 _('hg children [-r REV] [FILE]')), | |
45 } |