diff --git a/mercurial/revlogutils/nodemap.py b/mercurial/revlogutils/nodemap.py --- a/mercurial/revlogutils/nodemap.py +++ b/mercurial/revlogutils/nodemap.py @@ -220,6 +220,11 @@ contains up to 16 entry indexed from 0 to 15""" + def __init__(self): + super(Block, self).__init__() + # If this block exist on disk, here is its ID + self.ondisk_id = None + def __iter__(self): return iter(self.get(i) for i in range(16)) @@ -327,8 +332,8 @@ """Parse the persisted version of an individual block """ block = Block() - ondisk_id = len(block_map) - block_map[ondisk_id] = block + block.ondisk_id = len(block_map) + block_map[block.ondisk_id] = block values = S_BLOCK.unpack(block_data) for idx, v in enumerate(values): if v == NO_ENTRY: