# HG changeset patch # User Martin von Zweigbergk # Date 1495220296 25200 # Node ID b3083be7dcb972355a340a31ac24f58cd052c80d # Parent f44ea253ffe25a63b69d0c81a7093de137954d7e match: drop support for empty pattern list in patternmatcher Since the caller now deals with empty pattern lists, we can drop that support in the patternmatcher. It now gets the more logical behavior of matching nothing when no patterns are given (although there is no in-core caller that will pass no patterns). diff -r f44ea253ffe2 -r b3083be7dcb9 mercurial/match.py --- 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):