# HG changeset patch # User Martin von Zweigbergk # Date 2015-03-16 23:01:16 # Node ID 1297480ed347e9506a213b9998ad6eb200480dfa # Parent cbe9d50d9e650490fb6942a8ff7f0ab64a99166f treemanifest: make hasdir() faster Same rationale as the previous change. diff --git a/mercurial/manifest.py b/mercurial/manifest.py --- a/mercurial/manifest.py +++ b/mercurial/manifest.py @@ -506,7 +506,12 @@ class treemanifest(object): return self._alldirs def hasdir(self, dir): - return dir in self._alldirs + topdir, subdir = _splittopdir(dir) + if topdir: + if topdir in self._dirs: + return self._dirs[topdir].hasdir(subdir) + return False + return (dir + '/') in self._dirs def matches(self, match): '''generate a new manifest filtered by the match argument'''