# HG changeset patch # User Pierre-Yves David # Date 2020-01-15 14:48:38 # Node ID 55b12f2593c12debfcf231dfea3d3249d99469f0 # Parent 7762a295fd4ded00e7f2c20c29a56bfef63c18c5 nodemap: move the iteratio inside the Block object Having the iteration inside the serialization function does not help readability. Now that we have a `Block` object, let us move that code there. Differential Revision: https://phab.mercurial-scm.org/D7843 diff --git a/mercurial/revlogutils/nodemap.py b/mercurial/revlogutils/nodemap.py --- a/mercurial/revlogutils/nodemap.py +++ b/mercurial/revlogutils/nodemap.py @@ -221,6 +221,9 @@ class Block(dict): contains up to 16 entry indexed from 0 to 15""" + def __iter__(self): + return iter(self.get(i) for i in range(16)) + def _build_trie(index): """build a nodemap trie @@ -295,7 +298,7 @@ def _persist_block(block_node, block_map 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)