match: allow pats to be None
authorMartin von Zweigbergk <martinvonz@google.com>
Thu, 08 Jun 2017 22:18:17 -0700
changeset 32728 3e8eb6d84a5c
parent 32727 c94c1aeb35fb
child 32729 c8177792fef6
match: allow pats to be None match.match already interprets "!bool(patterns)" as matching everything (but includes and excludes still apply). We might as well allow None, which lets us simplify some callers a bit. I originally wrote this patch while trying to change match.match(patterns=[]) to mean to match no patterns. This patch is one step towards that goal. I'm not sure it'll be worth the effort to go all the way there, but I think this patch still makes sense on its own.
mercurial/context.py
mercurial/match.py
--- a/mercurial/context.py	Tue Jun 06 11:16:38 2017 -0400
+++ b/mercurial/context.py	Thu Jun 08 22:18:17 2017 -0700
@@ -301,8 +301,6 @@
 
     def match(self, pats=None, include=None, exclude=None, default='glob',
               listsubrepos=False, badfn=None):
-        if pats is None:
-            pats = []
         r = self._repo
         return matchmod.match(r.root, r.getcwd(), pats,
                               include, exclude, default,
@@ -1701,8 +1699,6 @@
 
     def match(self, pats=None, include=None, exclude=None, default='glob',
               listsubrepos=False, badfn=None):
-        if pats is None:
-            pats = []
         r = self._repo
 
         # Only a case insensitive filesystem needs magic to translate user input
--- a/mercurial/match.py	Tue Jun 06 11:16:38 2017 -0400
+++ b/mercurial/match.py	Thu Jun 08 22:18:17 2017 -0700
@@ -85,7 +85,7 @@
             return False
     return True
 
-def match(root, cwd, patterns, include=None, exclude=None, default='glob',
+def match(root, cwd, patterns=None, include=None, exclude=None, default='glob',
           exact=False, auditor=None, ctx=None, listsubrepos=False, warn=None,
           badfn=None, icasefs=False):
     """build an object to match a set of file patterns