# HG changeset patch # User Matt Harbison # Date 2015-06-05 23:01:04 # Node ID f472228a9e5eaa532fed1dfdab97b20243d50cea # Parent 504a1f295677b311a774e37f918bd5efafe2b742 context: add an optional constructor parameter for a match.bad() override Most matcher creation is done by way of a context. diff --git a/mercurial/context.py b/mercurial/context.py --- a/mercurial/context.py +++ b/mercurial/context.py @@ -255,12 +255,12 @@ class basectx(object): return subrepo.nullsubrepo(self, path, pctx) def match(self, pats=[], include=None, exclude=None, default='glob', - listsubrepos=False): + listsubrepos=False, badfn=None): r = self._repo return matchmod.match(r.root, r.getcwd(), pats, include, exclude, default, auditor=r.auditor, ctx=self, - listsubrepos=listsubrepos) + listsubrepos=listsubrepos, badfn=badfn) def diff(self, ctx2=None, match=None, **opts): """Returns a diff generator for the given contexts and matcher""" @@ -1448,7 +1448,7 @@ class workingctx(committablectx): wlock.release() def match(self, pats=[], include=None, exclude=None, default='glob', - listsubrepos=False): + listsubrepos=False, badfn=None): r = self._repo # Only a case insensitive filesystem needs magic to translate user input @@ -1456,11 +1456,12 @@ class workingctx(committablectx): if not util.checkcase(r.root): return matchmod.icasefsmatcher(r.root, r.getcwd(), pats, include, exclude, default, r.auditor, self, - listsubrepos=listsubrepos) + listsubrepos=listsubrepos, + badfn=badfn) return matchmod.match(r.root, r.getcwd(), pats, include, exclude, default, auditor=r.auditor, ctx=self, - listsubrepos=listsubrepos) + listsubrepos=listsubrepos, badfn=badfn) def _filtersuspectsymlink(self, files): if not files or self._repo.dirstate._checklink: