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