[PATCH 2 of 3 sparse-ext v3] match: expose some data and functionality to other modules
Kostia Balytskyi
ikostia at fb.com
Wed Aug 2 19:12:39 EDT 2017
# HG changeset patch
# User Kostia Balytskyi <ikostia at fb.com>
# 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
More information about the Mercurial-devel
mailing list