indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers.
REVISION SUMMARY 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. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D4279 AFFECTED FILES mercurial/manifest.py CHANGE DETAILS diff --git a/mercurial/manifest.py b/mercurial/manifest.py --- a/mercurial/manifest.py +++ b/mercurial/manifest.py @@ -1453,20 +1453,20 @@ 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( _("cannot ask for manifest directory '%s' in a flat " "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: To: indygreg, #hg-reviewers Cc: mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel