mercurial/match.py
changeset 32555 b3083be7dcb9
parent 32554 f44ea253ffe2
child 32556 5f08eca8f8d3
--- a/mercurial/match.py	Sat May 20 23:49:14 2017 -0700
+++ b/mercurial/match.py	Fri May 19 11:58:16 2017 -0700
@@ -341,36 +341,21 @@
     def __init__(self, root, cwd, normalize, patterns, default='glob',
                  auditor=None, ctx=None, listsubrepos=False, warn=None,
                  badfn=None):
-        super(patternmatcher, self).__init__(root, cwd, badfn,
-                                             relativeuipath=bool(patterns))
-
-        self._anypats = False
-        self._always = False
-        self.patternspat = None
+        super(patternmatcher, self).__init__(root, cwd, badfn)
 
-        matchfns = []
-        if patterns:
-            kindpats = normalize(patterns, default, root, cwd, auditor, warn)
-            if not _kindpatsalwaysmatch(kindpats):
-                self._files = _explicitfiles(kindpats)
-                self._anypats = self._anypats or _anypats(kindpats)
-                self.patternspat, pm = _buildmatch(ctx, kindpats, '$',
-                                                   listsubrepos, root)
-                matchfns.append(pm)
-
-        if not matchfns:
-            m = util.always
+        kindpats = normalize(patterns, default, root, cwd, auditor, warn)
+        if not _kindpatsalwaysmatch(kindpats):
+            self._files = _explicitfiles(kindpats)
+            self._anypats = _anypats(kindpats)
+            self.patternspat, pm = _buildmatch(ctx, kindpats, '$',
+                                               listsubrepos, root)
+            self._always = False
+            self.matchfn = pm
+        else:
+            self._anypats = False
+            self.patternspat = None
             self._always = True
-        elif len(matchfns) == 1:
-            m = matchfns[0]
-        else:
-            def m(f):
-                for matchfn in matchfns:
-                    if not matchfn(f):
-                        return False
-                return True
-
-        self.matchfn = m
+            self.matchfn = lambda f: True
 
     @propertycache
     def _dirs(self):