# HG changeset patch # User Alexis S. L. Carvalho # Date 1173578460 10800 # Node ID 9e3121017fb22ccf4101b9b11d1319ff22cb447b # Parent 492d0d5b6976d9fde80fdb2d7681cd83255f16ae 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. diff --git a/mercurial/util.py b/mercurial/util.py --- 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