On Fri, Aug 04, 2017 at 05:45:58AM -0700, Kostia Balytskyi wrote:
> # HG changeset patch
> # User Kostia Balytskyi
> # Date 1501714137 25200
> # Wed Aug 02 15:48:57 2017 -0700
> # Node ID c0136292871d85675ccb9f386f4ae1913da4eb53
> # Parent d24d6711aa2a5397d52f46ccffa64c2a638c088b
> match: expose some data and functionality to other modules
I've taken patches 1 and 2. Reflecting on 3 now.
>
> This patch makes sure that other modules can check whether patterns
> are CWD-relative.
>
> diff --git a/mercurial/match.py b/mercurial/match.py
> --- a/mercurial/match.py
> +++ b/mercurial/match.py
> @@ -18,6 +18,11 @@ from . import (
> util,
> )
>
> +allpatternkinds = ('re', 'glob', 'path', 'relglob', 'relpath', 'relre',
> + 'listfile', 'listfile0', 'set', 'include', 'subinclude',
> + 'rootfilesin')
> +cwdrelativepatternkinds = ('relpath', 'glob')
> +
> propertycache = util.propertycache
>
> def _rematcher(regex):
> @@ -190,7 +195,7 @@ def _donormalize(patterns, default, root
> normalized and rooted patterns and with listfiles expanded.'''
> kindpats = []
> for kind, pat in [_patsplit(p, default) for p in patterns]:
> -if kind in ('glob', 'relpath'):
> +if kind in cwdrelativepatternkinds:
> pat = pathutil.canonpath(root, cwd, pat, auditor)
> elif kind in ('relglob', 'path', 'rootfilesin'):
> pat = util.normpath(pat)
> @@ -691,9 +696,7 @@ def _patsplit(pattern, default):
> pattern."""
> if ':' in pattern:
> kind, pat = pattern.split(':', 1)
> -if kind in ('re', 'glob', 'path', 'relglob', 'relpath', 'relre',
> -'listfile', 'listfile0', 'set', 'include', 'subinclude',
> -'rootfilesin'):
> +if kind in allpatternkinds:
> return kind, pat
> return default, pattern
>
> ___
> 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