mercurial/match.py
changeset 25433 419ac63fe29c
parent 25362 20ad936ac5d2
child 25464 504a1f295677
--- a/mercurial/match.py	Fri Jun 05 21:45:44 2015 +0900
+++ b/mercurial/match.py	Thu Jun 04 21:19:22 2015 -0400
@@ -5,7 +5,7 @@
 # This software may be used and distributed according to the terms of the
 # GNU General Public License version 2 or any later version.
 
-import re
+import copy, re
 import util, pathutil
 from i18n import _
 
@@ -305,6 +305,14 @@
 def always(root, cwd):
     return match(root, cwd, [])
 
+def badmatch(match, badfn):
+    """Make a copy of the given matcher, replacing its bad method with the given
+    one.
+    """
+    m = copy.copy(match)
+    m.bad = badfn
+    return m
+
 class narrowmatcher(match):
     """Adapt a matcher to work on a subdirectory only.