diff --git a/mercurial/revlogutils/nodemap.py b/mercurial/revlogutils/nodemap.py --- a/mercurial/revlogutils/nodemap.py +++ b/mercurial/revlogutils/nodemap.py @@ -220,7 +220,8 @@ contains up to 16 entry indexed from 0 to 15""" - pass + def __iter__(self): + return iter(self.get(i) for i in range(16)) def _build_trie(index): @@ -295,7 +296,7 @@ Children block are assumed to be already persisted and present in block_map. """ - data = tuple(_to_value(block_node.get(i), block_map) for i in range(16)) + data = tuple(_to_value(v, block_map) for v in block_node) return S_BLOCK.pack(*data)