diff --git a/mercurial/revlogutils/constants.py b/mercurial/revlogutils/constants.py --- a/mercurial/revlogutils/constants.py +++ b/mercurial/revlogutils/constants.py @@ -29,7 +29,9 @@ ### main revlog header -INDEX_HEADER = struct.Struct(b">I") +# We cannot rely on Struct.format is inconsistent for python <=3.6 versus above +INDEX_HEADER_FMT = b">I" +INDEX_HEADER = struct.Struct(INDEX_HEADER_FMT) ## revlog version REVLOGV0 = 0 diff --git a/mercurial/revlogutils/docket.py b/mercurial/revlogutils/docket.py --- a/mercurial/revlogutils/docket.py +++ b/mercurial/revlogutils/docket.py @@ -95,9 +95,7 @@ # * 8 bytes: size of data # * 8 bytes: pending size of data # * 1 bytes: default compression header -S_HEADER = struct.Struct( - pycompat.sysstr(constants.INDEX_HEADER.format) + 'BBLLLLc' -) +S_HEADER = struct.Struct(constants.INDEX_HEADER_FMT + b'BBLLLLc') class RevlogDocket(object):