hgext/children.py
author Jim Hague <jim.hague@acm.org>
Thu, 01 Mar 2012 15:27:24 +0000
changeset 16223 ac4fd3238ead
parent 11321 40c06bbf58be
child 16668 f393d20fb2ba
permissions -rw-r--r--
bugzilla: allow change comment to mark bugs fixed Add a second regular expression used when scanning change comments. Bugs matched by this new regular expression have the bug comments and optionally hours updated as with the first regular expression, but they are also marked as fixed. The bug status and resolution to set to mark a bug as fixed can be configured. By default status is set to RESOLVED and resolution to FIXED, the default Bugzilla settings. For example, a change comment containing 'Fixes 1234 h1.5' will be added to bug 1234, the bug will have its working time increased by 1.65 hours, and the bug will be marked RESOLVED/FIXED. Change comments may contain both bug update and fix instructions. If the same bug ID occurs in both, the last instruction found takes precedence. The patch adds new bug states 'bug_status' and 'resolution' and actions to update them to the XMLRPC and XMLRPC/email access methods. XMLRPC does not support marking bugs as fixed when used with Bugzilla versions prior to 4.0. When used with an earlier Bugzilla version, a warning is issued and only comment and hours updated.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
25e572394f5c Update license to GPLv2+
Matt Mackall <mpm@selenic.com>
parents: 9253
diff changeset
     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
8934
9dda4c73fc3b extensions: change descriptions for extensions providing a few commands
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8894
diff changeset
    11
'''command to display child changesets'''
8873
e872ef2e6758 help: add/fix docstrings for a bunch of extensions
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8277
diff changeset
    12
4785
be78ab217109 children extension: Don't abort when looking at the null revision.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4783
diff changeset
    13
from mercurial import cmdutil
6192
cd65a67aff31 Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4785
diff changeset
    14
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
    15
from mercurial.i18n import _
8b90d763ea90 Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    16
8b90d763ea90 Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    17
8b90d763ea90 Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    18
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
    19
    """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
    20
9253
d6d811d90976 children: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents: 9055
diff changeset
    21
    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
    22
    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
    23
    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
    24
    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
    25
    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
    26
    """
8b90d763ea90 Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    27
    rev = opts.get('rev')
8b90d763ea90 Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    28
    if file_:
8b90d763ea90 Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    29
        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
    30
    else:
6747
f6c00b17387c use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents: 6192
diff changeset
    31
        ctx = repo[rev]
4783
8b90d763ea90 Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    32
8b90d763ea90 Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    33
    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
    34
    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
    35
        displayer.show(cctx)
10152
56284451a22c Added support for templatevar "footer" to cmdutil.py
Robert Bachmann <rbachm@gmail.com>
parents: 9253
diff changeset
    36
    displayer.close()
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
cmdtable = {
8b90d763ea90 Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    39
    "children":
8b90d763ea90 Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    40
        (children,
11321
40c06bbf58be help: show value requirement and multiple occurrence of options
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 10264
diff changeset
    41
         [('r', 'rev', '',
40c06bbf58be help: show value requirement and multiple occurrence of options
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 10264
diff changeset
    42
           _('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
    43
         ] + templateopts,
4783
8b90d763ea90 Add extension to provide the 'hg children' command (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    44
         _('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
    45
}