remove: use ctx.hasdir(f) instead of 'f in ctx.dirs()'
This speeds up 'hg remove python/README' on the Firefox repo from
2.479s to 0.664s with lazily loaded treemanifests (which is not yet in
core) and has no measurable effect on flat manifests.
--- a/mercurial/cmdutil.py Mon May 04 23:04:12 2015 -0400
+++ b/mercurial/cmdutil.py Tue Apr 21 09:29:59 2015 -0700
@@ -2336,7 +2336,7 @@
return True
return False
- isdir = f in deleteddirs or f in wctx.dirs()
+ isdir = f in deleteddirs or wctx.hasdir(f)
if f in repo.dirstate or isdir or f == '.' or insubrepo():
continue