[PATCH 1 of 4] match: add root to _buildmatch

Durham Goode durham at fb.com
Wed May 20 21:57:33 UTC 2015


# HG changeset patch
# User Durham Goode <durham at fb.com>
# Date 1431817920 25200
#      Sat May 16 16:12:00 2015 -0700
# Node ID aed26cd32a07f5e18065a521b4bc42afff2ccc5a
# Parent  dc562165044aaec642d9ead37299840555e2d48c
match: add root to _buildmatch

A future patch will make _buildmatch able to expand relative include patterns.
Doing so will require knowing the root of the repo, so let's go ahead and pass
it in.

diff --git a/mercurial/match.py b/mercurial/match.py
--- a/mercurial/match.py
+++ b/mercurial/match.py
@@ -91,12 +91,12 @@ class match(object):
         if include:
             kindpats = self._normalize(include, 'glob', root, cwd, auditor)
             self.includepat, im = _buildmatch(ctx, kindpats, '(?:/|$)',
-                                              listsubrepos)
+                                              listsubrepos, root)
             matchfns.append(im)
         if exclude:
             kindpats = self._normalize(exclude, 'glob', root, cwd, auditor)
             self.excludepat, em = _buildmatch(ctx, kindpats, '(?:/|$)',
-                                              listsubrepos)
+                                              listsubrepos, root)
             matchfns.append(lambda f: not em(f))
         if exact:
             if isinstance(patterns, list):
@@ -110,7 +110,7 @@ class match(object):
                 self._files = _roots(kindpats)
                 self._anypats = self._anypats or _anypats(kindpats)
                 self.patternspat, pm = _buildmatch(ctx, kindpats, '$',
-                                                   listsubrepos)
+                                                   listsubrepos, root)
                 matchfns.append(pm)
 
         if not matchfns:
@@ -450,7 +450,7 @@ def _regex(kind, pat, globsuffix):
         return '.*' + pat
     return _globre(pat) + globsuffix
 
-def _buildmatch(ctx, kindpats, globsuffix, listsubrepos):
+def _buildmatch(ctx, kindpats, globsuffix, listsubrepos, root):
     '''Return regexp string and a matcher function for kindpats.
     globsuffix is appended to the regexp of globs.'''
     fset, kindpats = _expandsets(kindpats, ctx, listsubrepos)


More information about the Mercurial-devel mailing list