[PATCH] revset: fix wrong keyword() behaviour for strings with spaces

Alexander Plavin alexander at plav.in
Thu Aug 22 18:41:03 UTC 2013


It is a simple resend of this patch, with no changes. As written in the wiki, "Feel free to resend patches after a few days if you haven't gotten a response", and last time I sent it on August 5. Actually, it's not even "a few days", but I just forgot to send it before :)

22.08.2013, 22:39, "Alexander Plavin" <alexander at plav.in>:
> # HG changeset patch
> # User Alexander Plavin <alexander at plav.in>
> # Date 1375735926 -14400
> #      Tue Aug 06 00:52:06 2013 +0400
> # Node ID e750d4c05d45410bfd51848374e9b2c479a8235a
> # Parent  4050c78a939904254eae88e9fe48945afe4b92d6
> revset: fix wrong keyword() behaviour for strings with spaces
>
> Some changesets can be wrongly reported as matched by this predicate
> due to searching in a string joined with spaces and not individually.
> A test case added, which fails without this fix.
>
> diff -r 4050c78a9399 -r e750d4c05d45 mercurial/revset.py
> --- a/mercurial/revset.py Sat Jun 29 14:36:51 2013 +0400
> +++ b/mercurial/revset.py Tue Aug 06 00:52:06 2013 +0400
> @@ -910,8 +910,8 @@
>      l = []
>      for r in subset:
>          c = repo[r]
> -        t = " ".join(c.files() + [c.user(), c.description()])
> -        if kw in encoding.lower(t):
> +        if util.any(kw in encoding.lower(t)
> +                    for t in c.files() + [c.user(), c.description()]):
>              l.append(r)
>      return l
>
> diff -r 4050c78a9399 -r e750d4c05d45 tests/test-revset.t
> --- a/tests/test-revset.t Sat Jun 29 14:36:51 2013 +0400
> +++ b/tests/test-revset.t Tue Aug 06 00:52:06 2013 +0400
> @@ -328,6 +328,7 @@
>    7
>    $ log 'keyword(issue)'
>    6
> +  $ log 'keyword("test a")'
>    $ log 'limit(head(), 1)'
>    0
>    $ log 'matching(6)'
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel



More information about the Mercurial-devel mailing list