Re: [PATCH 2 of 3 v4 sparse-ext] match: expose some data and functionality to other modules

2017-08-04 Thread Augie Fackler
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


[PATCH 2 of 3 v4 sparse-ext] match: expose some data and functionality to other modules

2017-08-04 Thread Kostia Balytskyi
# 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

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