diff -r 6cdfb7e15a35 -r 608ba935e041 mercurial/context.py --- a/mercurial/context.py Tue Nov 08 08:03:43 2016 -0800 +++ b/mercurial/context.py Tue Nov 08 08:03:43 2016 -0800 @@ -259,8 +259,10 @@ if path in self._manifestdelta: return (self._manifestdelta[path], self._manifestdelta.flags(path)) - node, flag = self._repo.manifest.find(self._changeset.manifest, path) - if not node: + mfl = self._repo.manifestlog + try: + node, flag = mfl[self._changeset.manifest].find(path) + except KeyError: raise error.ManifestLookupError(self._node, path, _('not found in manifest'))