diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py --- a/mercurial/dirstate.py +++ b/mercurial/dirstate.py @@ -561,6 +561,8 @@ class dirstate(object): matchfn = match.matchfn matchalways = match.always() + matchedir = match.explicitdir + matchtdir = match.traversedir badfn = match.bad dmap = self._map normpath = util.normpath @@ -621,7 +623,7 @@ class dirstate(object): if nf in dmap: #file deleted on disk but still in dirstate results[nf] = None - match.explicitdir(nf) + matchedir(nf) if not dirignore(nf): wadd(nf) elif kind == regkind or kind == lnkkind: @@ -637,7 +639,7 @@ class dirstate(object): prefix = nf + "/" for fn in dmap: if fn.startswith(prefix): - match.explicitdir(nf) + matchedir(nf) skipstep3 = False break else: @@ -666,7 +668,7 @@ class dirstate(object): if nf not in results: if kind == dirkind: if not ignore(nf): - match.traversedir(nf) + matchtdir(nf) wadd(nf) if nf in dmap and (matchalways or matchfn(nf)): results[nf] = None