[PATCH V2] templates: add built-in files() function
Yuya Nishihara
yuya at tcha.org
Fri Sep 23 20:51:59 EDT 2016
On Fri, 23 Sep 2016 14:35:32 +0000, Hannes Oldenburg wrote:
> # HG changeset patch
> # User Hannes Oldenburg <hannes.christian.oldenburg at gmail.com>
> # Date 1474618505 0
> # Fri Sep 23 08:15:05 2016 +0000
> # Node ID 5be94ae732b1391c0d0a06fe898d3c4eae69cb38
> # Parent 5271ae66615207f39cc41d78f4541bc6f8ca6ff6
> templates: add built-in files() function
> --- a/mercurial/templater.py Wed Sep 21 17:05:27 2016 -0400
> +++ b/mercurial/templater.py Fri Sep 23 08:15:05 2016 +0000
> @@ -699,6 +699,20 @@
> tzoffset = util.makedate()[1]
> return (date[0], tzoffset)
>
> + at templatefunc('files(pattern)')
> +def files(context, mapping, args):
> + """All files of the current changeset matching the pattern. See
> + :hg:`help patterns`."""
Nit: template functions are sorted alphabetically.
> + if not len(args) == 1:
> + # i18n: "revset" is a keyword
s/revset/files/
> + raise error.ParseError(_("files expects one argument"))
> +
> + raw = evalstring(context, mapping, args[0])
> + ctx = mapping['ctx']
> + m = ctx.match(raw)
match() expects a list of patterns. It should be [raw].
> --- a/tests/test-command-template.t Wed Sep 21 17:05:27 2016 -0400
> +++ b/tests/test-command-template.t Fri Sep 23 08:15:05 2016 +0000
> @@ -3501,6 +3501,18 @@
> 5:13207e5a10d9fd28ec424934298e176197f2c67f,
> 4:bbe44766e73d5f11ed2177f1838de10c53ef3e74
>
> +Test files function
> +
> + $ hg log -T "{rev}\n{join(files('*'), '\n')}\n"
> + 2
> + a
> + aa
> + b
> + 1
> + a
> + 0
> + a
Can you add tests to catch the bug in this patch?
More information about the Mercurial-devel
mailing list