# HG changeset patch # User Raphaël Gomès # Date 2021-03-02 17:51:18 # Node ID e83327af26f158c21ceac95324dd4cb0e0bdfa96 # Parent ad30b29bc23de9533cc7367b5cdc6a925c96898d pure-parsers: document index class constants This also adds the big endian prefix `>` to make the constants truly platform-independent, even if no issue with this has been reported in the wild. Differential Revision: https://phab.mercurial-scm.org/D10104 diff --git a/mercurial/pure/parsers.py b/mercurial/pure/parsers.py --- a/mercurial/pure/parsers.py +++ b/mercurial/pure/parsers.py @@ -42,10 +42,15 @@ def offset_type(offset, type): class BaseIndexObject(object): + # Format of an index entry according to Python's `struct` language index_format = b">Qiiiiii20s12x" - big_int_size = struct.calcsize(b'Q') - int_size = struct.calcsize(b'i') + # Size of a C unsigned long long int, platform independent + big_int_size = struct.calcsize(b'>Q') + # Size of a C long int, platform independent + int_size = struct.calcsize(b'>i') + # Size of the entire index format index_size = struct.calcsize(index_format) + # An empty index entry, used as a default value to be overridden, or nullrev null_item = (0, 0, 0, -1, -1, -1, -1, nullid) @property