queued thanks

> On Dec 1, 2020, at 07:50, Yuya Nishihara <y...@tcha.org> wrote:
> 
> # HG changeset patch
> # User Yuya Nishihara <y...@tcha.org>
> # Date 1606821744 -32400
> #      Tue Dec 01 20:22:24 2020 +0900
> # Node ID 8e8feec5114933aaa5224ff33acfa1bc9a52625c
> # Parent  773cf7f8899449979131792e82a49fc6bc0d25ec
> log: do not accept string-matcher pattern as -u/-b/-B parameter
> 
> I'm pretty sure this is a bug introduced after we've switched the filtering
> backend to revset matcher.
> 
> diff --git a/mercurial/logcmdutil.py b/mercurial/logcmdutil.py
> --- a/mercurial/logcmdutil.py
> +++ b/mercurial/logcmdutil.py
> @@ -898,13 +898,13 @@ def _makenofollowfilematcher(repo, pats,
> def _makerevset(repo, wopts, slowpath):
>     """Return a revset string built from log options and file patterns"""
>     opts = {
> -        b'branch': [repo.lookupbranch(b) for b in wopts.branches],
> +        b'branch': [b'literal:' + repo.lookupbranch(b) for b in 
> wopts.branches],
>         b'date': wopts.date,
>         b'keyword': wopts.keywords,
>         b'no_merges': wopts.no_merges,
>         b'only_merges': wopts.only_merges,
>         b'prune': wopts.prune_ancestors,
> -        b'user': wopts.users,
> +        b'user': [b'literal:' + v for v in wopts.users],
>     }
> 
>     if wopts.filter_revisions_by_pats and slowpath:
> diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py
> --- a/mercurial/scmutil.py
> +++ b/mercurial/scmutil.py
> @@ -2310,6 +2310,7 @@ def bookmarkrevs(repo, mark):
> def format_bookmark_revspec(mark):
>     """Build a revset expression to select revisions reachable by a given
>     bookmark"""
> +    mark = b'literal:' + mark
>     return revsetlang.formatspec(
>         b"ancestors(bookmark(%s)) - "
>         b"ancestors(head() and not bookmark(%s)) - "
> diff --git a/tests/test-glog-beautifygraph.t b/tests/test-glog-beautifygraph.t
> --- a/tests/test-glog-beautifygraph.t
> +++ b/tests/test-glog-beautifygraph.t
> @@ -1588,19 +1588,19 @@ glog always reorders nodes which explain
>     (list
>       (func
>         (symbol 'user')
> -        (string 'test'))
> +        (string 'literal:test'))
>       (func
>         (symbol 'user')
> -        (string 'not-a-user'))))
> +        (string 'literal:not-a-user'))))
>   <filteredset
>     <spanset- 0:37>,
>     <addset
>       <filteredset
>         <fullreposet+ 0:37>,
> -        <user 'test'>>,
> +        <user 'literal:test'>>,
>       <filteredset
>         <fullreposet+ 0:37>,
> -        <user 'not-a-user'>>>>
> +        <user 'literal:not-a-user'>>>>
>   $ testlog -b not-a-branch
>   abort: unknown revision 'not-a-branch'
>   abort: unknown revision 'not-a-branch'
> @@ -1611,28 +1611,28 @@ glog always reorders nodes which explain
>     (list
>       (func
>         (symbol 'branch')
> -        (string 'default'))
> +        (string 'literal:default'))
>       (or
>         (list
>           (func
>             (symbol 'branch')
> -            (string 'branch'))
> +            (string 'literal:branch'))
>           (func
>             (symbol 'branch')
> -            (string 'branch'))))))
> +            (string 'literal:branch'))))))
>   <filteredset
>     <spanset- 0:37>,
>     <addset
>       <filteredset
>         <fullreposet+ 0:37>,
> -        <branch 'default'>>,
> +        <branch 'literal:default'>>,
>       <addset
>         <filteredset
>           <fullreposet+ 0:37>,
> -          <branch 'branch'>>,
> +          <branch 'literal:branch'>>,
>         <filteredset
>           <fullreposet+ 0:37>,
> -          <branch 'branch'>>>>>
> +          <branch 'literal:branch'>>>>>
>   $ testlog -k expand -k merge
>   []
>   (or
> diff --git a/tests/test-glog.t b/tests/test-glog.t
> --- a/tests/test-glog.t
> +++ b/tests/test-glog.t
> @@ -1438,19 +1438,19 @@ glog always reorders nodes which explain
>     (list
>       (func
>         (symbol 'user')
> -        (string 'test'))
> +        (string 'literal:test'))
>       (func
>         (symbol 'user')
> -        (string 'not-a-user'))))
> +        (string 'literal:not-a-user'))))
>   <filteredset
>     <spanset- 0:37>,
>     <addset
>       <filteredset
>         <fullreposet+ 0:37>,
> -        <user 'test'>>,
> +        <user 'literal:test'>>,
>       <filteredset
>         <fullreposet+ 0:37>,
> -        <user 'not-a-user'>>>>
> +        <user 'literal:not-a-user'>>>>
>   $ testlog -b not-a-branch
>   abort: unknown revision 'not-a-branch'
>   abort: unknown revision 'not-a-branch'
> @@ -1461,28 +1461,28 @@ glog always reorders nodes which explain
>     (list
>       (func
>         (symbol 'branch')
> -        (string 'default'))
> +        (string 'literal:default'))
>       (or
>         (list
>           (func
>             (symbol 'branch')
> -            (string 'branch'))
> +            (string 'literal:branch'))
>           (func
>             (symbol 'branch')
> -            (string 'branch'))))))
> +            (string 'literal:branch'))))))
>   <filteredset
>     <spanset- 0:37>,
>     <addset
>       <filteredset
>         <fullreposet+ 0:37>,
> -        <branch 'default'>>,
> +        <branch 'literal:default'>>,
>       <addset
>         <filteredset
>           <fullreposet+ 0:37>,
> -          <branch 'branch'>>,
> +          <branch 'literal:branch'>>,
>         <filteredset
>           <fullreposet+ 0:37>,
> -          <branch 'branch'>>>>>
> +          <branch 'literal:branch'>>>>>
>   $ testlog -k expand -k merge
>   []
>   (or
> diff --git a/tests/test-log-bookmark.t b/tests/test-log-bookmark.t
> --- a/tests/test-log-bookmark.t
> +++ b/tests/test-log-bookmark.t
> @@ -190,3 +190,9 @@ Unknown bookmark:
>   $ hg log -B unknown
>   abort: bookmark 'unknown' does not exist
>   [255]
> +
> +Shouldn't accept string-matcher syntax:
> +
> +  $ hg log -B 're:.*'
> +  abort: bookmark 're:.*' does not exist
> +  [255]
> diff --git a/tests/test-log.t b/tests/test-log.t
> --- a/tests/test-log.t
> +++ b/tests/test-log.t
> @@ -1378,6 +1378,14 @@ are specified (issue5100):
>   1 k1
>   0 k0
> 
> + log -b/-u/-k shouldn't accept string-matcher syntax:
> +
> +  $ hg log -b 're:.*'
> +  abort: unknown revision 're:.*'
> +  [255]
> +  $ hg log -k 're:.*'
> +  $ hg log -u 're:.*'
> +
>  log FILE in ascending order, against dagrange:
> 
>   $ hg log -r1:: -T '{rev} {files}\n' f1 f2
> 
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel@mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to