diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py --- a/mercurial/dirstate.py +++ b/mercurial/dirstate.py @@ -621,7 +621,7 @@ class dirstate(object): if nf in dmap: #file deleted on disk but still in dirstate results[nf] = None - match.dir(nf) + match.explicitdir(nf) if not dirignore(nf): wadd(nf) elif kind == regkind or kind == lnkkind: @@ -637,7 +637,7 @@ class dirstate(object): prefix = nf + "/" for fn in dmap: if fn.startswith(prefix): - match.dir(nf) + match.explicitdir(nf) skipstep3 = False break else: @@ -666,7 +666,7 @@ class dirstate(object): if nf not in results: if kind == dirkind: if not ignore(nf): - match.dir(nf) + match.traversedir(nf) wadd(nf) if nf in dmap and (matchalways or matchfn(nf)): results[nf] = None