# HG changeset patch # User mpm@selenic.com # Date 2005-05-17 20:20:29 # Node ID 1b945e8ba67bd5031bdd1c5ef2ef969a6eb22a3b # Parent 58a1a0425c9b81fe29294f1f6eb9caa4cc313e3f Friendlier exceptions for unknown node errors diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -78,7 +78,7 @@ class lazymap: self.p = parser def load(self, key): n = self.p.data.find(key) - if n < 0: raise KeyError(key) + if n < 0: raise KeyError("node " + hex(key)) pos = n / self.p.s self.p.load(pos) def __contains__(self, key): @@ -91,8 +91,11 @@ class lazymap: try: return self.p.map[key] except KeyError: - self.load(key) - return self.p.map[key] + try: + self.load(key) + return self.p.map[key] + except KeyError: + raise KeyError("node " + hex(key)) def __setitem__(self, key, val): self.p.map[key] = val