Mercurial > hg
annotate hgext/children.py @ 21749:f13728d59c0e stable
revlog: make _chunkcache access atomic
With this and related fixes, 'hg serve' survived 100000 hits with
siege.
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Fri, 13 Jun 2014 14:16:03 -0500 |
parents | 434e5bd615fc |
children | 48e859e30cbf |
rev | line source |
---|---|
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
1 # Mercurial extension to provide the 'hg children' command |
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
2 # |
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
3 # Copyright 2007 by Intevation GmbH <intevation@intevation.de> |
8228
eee2319c5895
add blank line after copyright notices and after header
Martin Geisler <mg@lazybytes.net>
parents:
8225
diff
changeset
|
4 # |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
5 # Author(s): |
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
6 # Thomas Arendsen Hein <thomas@intevation.de> |
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
7 # |
8225
46293a0c7e9f
updated license to be explicit about GPL version 2
Martin Geisler <mg@lazybytes.net>
parents:
8076
diff
changeset
|
8 # This software may be used and distributed according to the terms of the |
10263 | 9 # GNU General Public License version 2 or any later version. |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
10 |
16668
f393d20fb2ba
children: mark extension as deprecated
Augie Fackler <raf@durin42.com>
parents:
11321
diff
changeset
|
11 '''command to display child changesets (DEPRECATED) |
f393d20fb2ba
children: mark extension as deprecated
Augie Fackler <raf@durin42.com>
parents:
11321
diff
changeset
|
12 |
16670
052047753f7d
children: use hg reST role for example
Martin Geisler <mg@lazybytes.net>
parents:
16668
diff
changeset
|
13 This extension is deprecated. You should use :hg:`log -r |
052047753f7d
children: use hg reST role for example
Martin Geisler <mg@lazybytes.net>
parents:
16668
diff
changeset
|
14 "children(REV)"` instead. |
16668
f393d20fb2ba
children: mark extension as deprecated
Augie Fackler <raf@durin42.com>
parents:
11321
diff
changeset
|
15 ''' |
8873
e872ef2e6758
help: add/fix docstrings for a bunch of extensions
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
8277
diff
changeset
|
16 |
17773
434e5bd615fc
commands: don't infer repo for commands like update (issue2748)
Siddharth Agarwal <sid0@fb.com>
parents:
16743
diff
changeset
|
17 from mercurial import cmdutil, commands |
6192
cd65a67aff31
Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4785
diff
changeset
|
18 from mercurial.commands import templateopts |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
19 from mercurial.i18n import _ |
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
20 |
16743
38caf405d010
hgext: mark all first-party extensions as such
Augie Fackler <raf@durin42.com>
parents:
16670
diff
changeset
|
21 testedwith = 'internal' |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
22 |
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
23 def children(ui, repo, file_=None, **opts): |
8026
683d8ebcf434
expand "dir" to "directory" in help texts
Martin Geisler <mg@lazybytes.net>
parents:
7986
diff
changeset
|
24 """show the children of the given or working directory revision |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
25 |
9253
d6d811d90976
children: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9055
diff
changeset
|
26 Print the children of the working directory's revisions. If a |
d6d811d90976
children: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9055
diff
changeset
|
27 revision is given via -r/--rev, the children of that revision will |
d6d811d90976
children: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9055
diff
changeset
|
28 be printed. If a file argument is given, revision in which the |
d6d811d90976
children: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9055
diff
changeset
|
29 file was last changed (after the working directory revision or the |
d6d811d90976
children: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9055
diff
changeset
|
30 argument to --rev if given) is printed. |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
31 """ |
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
32 rev = opts.get('rev') |
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
33 if file_: |
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
34 ctx = repo.filectx(file_, changeid=rev) |
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
35 else: |
6747
f6c00b17387c
use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents:
6192
diff
changeset
|
36 ctx = repo[rev] |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
37 |
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
38 displayer = cmdutil.show_changeset(ui, repo, opts) |
7369
87158be081b8
cmdutil: use change contexts for cset-printer and cset-templater
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6747
diff
changeset
|
39 for cctx in ctx.children(): |
87158be081b8
cmdutil: use change contexts for cset-printer and cset-templater
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6747
diff
changeset
|
40 displayer.show(cctx) |
10152
56284451a22c
Added support for templatevar "footer" to cmdutil.py
Robert Bachmann <rbachm@gmail.com>
parents:
9253
diff
changeset
|
41 displayer.close() |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
42 |
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
43 cmdtable = { |
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
44 "children": |
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
45 (children, |
11321
40c06bbf58be
help: show value requirement and multiple occurrence of options
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
10264
diff
changeset
|
46 [('r', 'rev', '', |
40c06bbf58be
help: show value requirement and multiple occurrence of options
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
10264
diff
changeset
|
47 _('show children of the specified revision'), _('REV')), |
6192
cd65a67aff31
Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4785
diff
changeset
|
48 ] + templateopts, |
4783
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
49 _('hg children [-r REV] [FILE]')), |
8b90d763ea90
Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff
changeset
|
50 } |
17773
434e5bd615fc
commands: don't infer repo for commands like update (issue2748)
Siddharth Agarwal <sid0@fb.com>
parents:
16743
diff
changeset
|
51 |
434e5bd615fc
commands: don't infer repo for commands like update (issue2748)
Siddharth Agarwal <sid0@fb.com>
parents:
16743
diff
changeset
|
52 commands.inferrepo += " children" |