mercurial/revlog.py
changeset 77 bed15e766511
parent 76 d993ebd69d28
child 83 9fd5b35cfc45
--- a/mercurial/revlog.py
+++ b/mercurial/revlog.py
@@ -82,7 +82,7 @@ class lazymap:
         self.p.load(pos)
     def __contains__(self, key):
         try:
-            self.p.map[key]
+            self[key]
             return True
         except KeyError:
             return False
@@ -434,6 +434,8 @@ class revlog:
         while pos < len(data):
             l, node, p1, p2, cs = struct.unpack(">l20s20s20s20s",
                                                 data[pos:pos+84])
+            if node in self.nodemap:
+                raise "already have %s" % hex(node[:4])
             link = linkmapper(cs)
             delta = data[pos + 84:pos + l]
             pos += l