Mercurial > hg
changeset 46635:e83327af26f1
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
author | Raphaël Gomès <rgomes@octobus.net> |
---|---|
date | Tue, 02 Mar 2021 18:51:18 +0100 |
parents | ad30b29bc23d |
children | c3773636ddbb |
files | mercurial/pure/parsers.py |
diffstat | 1 files changed, 7 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/pure/parsers.py Thu Mar 04 16:06:55 2021 -0800 +++ b/mercurial/pure/parsers.py Tue Mar 02 18:51:18 2021 +0100 @@ -42,10 +42,15 @@ 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