# HG changeset patch # User Matt Mackall # Date 1210610228 18000 # Node ID 7fe4610cf9208d66bbf5b0a61ddba00b19a2d0df # Parent 99a92acafdb93cbfc2b24f62a81833c6535f777e match: add always, never, and exact methods diff -r 99a92acafdb9 -r 7fe4610cf920 mercurial/match.py --- a/mercurial/match.py Mon May 12 11:37:08 2008 -0500 +++ b/mercurial/match.py Mon May 12 11:37:08 2008 -0500 @@ -34,3 +34,18 @@ return self._files def anypats(self): return self._anypats + +def always(root, cwd): + return match(root, cwd, [], None, None, 'relpath') + +def never(root, cwd): + m = match(root, cwd, [], None, None, 'relpath') + m._matchfn = lambda f: False + return m + +def exact(root, cwd, files): + m = always(root, cwd) + m._files = files + m._fmap = dict.fromkeys(files) + m._matchfn = m._fmap.has_key + return m