Mercurial > public > mercurial-scm > hg
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" |