Mercurial > public > mercurial-scm > hg-stable
diff mercurial/revlog.py @ 86:1b945e8ba67b
Friendlier exceptions for unknown node errors
author | mpm@selenic.com |
---|---|
date | Tue, 17 May 2005 12:20:29 -0800 |
parents | b2e3528115da |
children | 7daef883134f |
line wrap: on
line diff
--- a/mercurial/revlog.py Tue May 17 11:40:45 2005 -0800 +++ b/mercurial/revlog.py Tue May 17 12:20:29 2005 -0800 @@ -78,7 +78,7 @@ 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 @@ 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