match: add always, never, and exact methods
authorMatt Mackall <mpm@selenic.com>
Mon, 12 May 2008 11:37:08 -0500
changeset 6596 7fe4610cf920
parent 6595 99a92acafdb9
child 6597 371415a2b959
match: add always, never, and exact methods
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