Mercurial > hg
changeset 39246:61700d525a3b
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
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Fri, 10 Aug 2018 16:01:19 -0700 |
parents | 071f97d03acb |
children | f4d4bd8c8911 |
files | mercurial/manifest.py |
diffstat | 1 files changed, 7 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- 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: