# HG changeset patch # User Gregory Szorc # Date 1533942079 25200 # Node ID 61700d525a3b190bb2bcfc36b5cba96c67dfcb0f # Parent 071f97d03acb73e25ee75dcb196e56dd8e647ec1 manifest: use rev() instead of nodemap.__contains__ nodemap is an implementation detail of revlogs and isn't appropriate to expose on the manifest storage API. While revlogs don't have a __contains__, they do have lookup() for resolving a value to a node. And this calls rev(), whose API is documented to raise LookupError if a node doesn't exist. And the parameters to LookupError are identical to what was being raised here. So this change should be backwards compatible. Differential Revision: https://phab.mercurial-scm.org/D4279 diff -r 071f97d03acb -r 61700d525a3b mercurial/manifest.py --- a/mercurial/manifest.py Fri Aug 10 15:06:41 2018 -0700 +++ b/mercurial/manifest.py Fri Aug 10 16:01:19 2018 -0700 @@ -1453,10 +1453,10 @@ if tree: if self._revlog._treeondisk: if verify: - dirlog = self.getstorage(tree) - if node not in dirlog.nodemap: - raise LookupError(node, dirlog.indexfile, - _('no node')) + # Side-effect is LookupError is raised if node doesn't + # exist. + self.getstorage(tree).rev(node) + m = treemanifestctx(self, tree, node) else: raise error.Abort( @@ -1464,9 +1464,9 @@ "manifest") % tree) else: if verify: - if node not in self._revlog.nodemap: - raise LookupError(node, self._revlog.indexfile, - _('no node')) + # Side-effect is LookupError is raised if node doesn't exist. + self._revlog.rev(node) + if self._treemanifests: m = treemanifestctx(self, '', node) else: