[PATCH 5 of 8] revset: extract parsing logic out of formatspec

Yuya Nishihara yuya at tcha.org
Sat Jan 12 00:01:50 EST 2019


On Fri, 11 Jan 2019 12:29:07 +0100, Boris Feld wrote:
> # HG changeset patch
> # User Boris Feld <boris.feld at octobus.net>
> # Date 1546565344 -3600
> #      Fri Jan 04 02:29:04 2019 +0100
> # Node ID d360e33ec21c012b8990dfb1148b4fd52f0ece31
> # Parent  38733dd85595782676175141111a42f253efabb6
> # EXP-Topic revs-efficiency
> # Available At https://bitbucket.org/octobus/mercurial-devel/
> #              hg pull https://bitbucket.org/octobus/mercurial-devel/ -r d360e33ec21c
> revset: extract parsing logic out of formatspec

> --- a/mercurial/revsetlang.py
> +++ b/mercurial/revsetlang.py
> @@ -666,6 +666,21 @@ def formatspec(expr, *args):
>      >>> formatspec(b'%ls', [b'a', b"'"])
>      "_list('a\\\\x00\\\\'')"
>      '''
> +    parsed = _parseargs(expr, args)
> +    ret = []
> +    for t, arg in parsed:
> +        if t is None:
> +            ret.append(arg)

raise ProgrammingError otherwise.

> +    return b''.join(ret)


More information about the Mercurial-devel mailing list