Optimize return value of util._matcher for common command line case
authorAlexis S. L. Carvalho <alexis@cecm.usp.br>
Sat, 10 Mar 2007 23:01:00 -0300
changeset 4198 9e3121017fb2
parent 4197 492d0d5b6976
child 4199 ec932167c3a7
Optimize return value of util._matcher for common command line case This will trigger every time somebody runs something like "hg diff" or "hg status" without any arguments. The important part here is returning util.always as the match function, which is a much simpler (and faster) function than the usual return value, and allows other code to just skip the filtering if it knows all files will match.
mercurial/util.py
--- a/mercurial/util.py	Sat Mar 10 23:00:59 2007 -0300
+++ b/mercurial/util.py	Sat Mar 10 23:01:00 2007 -0300
@@ -418,6 +418,10 @@
     - a bool indicating if any patterns were passed in
     """
 
+    # a common case: no patterns at all
+    if not names and not inc and not exc:
+        return [], always, False
+
     def contains_glob(name):
         for c in name:
             if c in _globchars: return True