comparison mercurial/revlogutils/constants.py @ 48499:52034c42c09d

rank: add a "rank" value to the revlog-entry tuple The rank of a revision is the size of sub-graph it defines as a head. In other words, the rank of X is the size of `ancestors(X)` (X included). This is a property that can help various algorithm and we intend to store it in changelog-v2. We start with adding this new information to the "entry tuple", with a default value. We will start to compute and persist the rank later. Differential Revision: https://phab.mercurial-scm.org/D11936
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Tue, 14 Dec 2021 23:56:38 +0100
parents d5137c00ab17
children c5d6c874766a
comparison
equal deleted inserted replaced
48498:d5137c00ab17 48499:52034c42c09d
100 100
101 # [11] side-data compression mode: 101 # [11] side-data compression mode:
102 # two bits that detail the way the sidedata chunk is compressed on disk. 102 # two bits that detail the way the sidedata chunk is compressed on disk.
103 # (see "COMP_MODE_*" constants for details) 103 # (see "COMP_MODE_*" constants for details)
104 ENTRY_SIDEDATA_COMPRESSION_MODE = 11 104 ENTRY_SIDEDATA_COMPRESSION_MODE = 11
105
106 # [12] Revision rank:
107 # The number of revision under this one.
108 #
109 # Formally this is defined as : rank(X) = len(ancestors(X) + X)
110 #
111 # If rank == -1; then we do not have this information available.
112 # Only `null` has a rank of 0.
113 ENTRY_RANK = 12
114
115 RANK_UNKNOWN = -1
105 116
106 ### main revlog header 117 ### main revlog header
107 118
108 # We cannot rely on Struct.format is inconsistent for python <=3.6 versus above 119 # We cannot rely on Struct.format is inconsistent for python <=3.6 versus above
109 INDEX_HEADER_FMT = b">I" 120 INDEX_HEADER_FMT = b">I"