diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -784,6 +784,10 @@ class revlog: continue delta = chunk[80:] + for p in (p1, p2): + if not p in self.nodemap: + raise RevlogError(_("unknown parent %s") % short(p1)) + if not chain: # retrieve the parent revision of the delta chain chain = p1