changeset 4193:9e3121017fb2

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.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Sat, 10 Mar 2007 23:01:00 -0300
parents 492d0d5b6976
children ec932167c3a7
files mercurial/util.py
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/util.py
+++ b/mercurial/util.py
@@ -418,6 +418,10 @@ def _matcher(canonroot, cwd, names, inc,
     - 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