diff --git a/mercurial/manifest.py b/mercurial/manifest.py index 1f92056c40666dce45fca946144a4afb3cdb4279_bWVyY3VyaWFsL21hbmlmZXN0LnB5..1a0c1ad578331bfb4cc9cd6ee83bafe4b759f6f7_bWVyY3VyaWFsL21hbmlmZXN0LnB5 100644 --- a/mercurial/manifest.py +++ b/mercurial/manifest.py @@ -1262,8 +1262,8 @@ self._mancache = self._oldmanifest._mancache def __getitem__(self, node): - """Retrieves the manifest instance for the given node. Throws a KeyError - if not found. + """Retrieves the manifest instance for the given node. Throws a + LookupError if not found. """ if node in self._mancache: cachemf = self._mancache[node] @@ -1273,6 +1273,9 @@ isinstance(cachemf, treemanifestctx)): return cachemf + if node not in self._revlog.nodemap: + raise LookupError(node, self._revlog.indexfile, + _('no node')) if self._treeinmem: m = treemanifestctx(self._repo, '', node) else: