Mercurial > public > mercurial-scm > hg
comparison mercurial/revlogutils/flagutil.py @ 47077:119790e1c67c
cg4: introduce protocol flag to signify the presence of sidedata
We need a way of signaling whether the current revision has sidedata or not,
and re-using the revision flags would waste potential revlog flags and mix two
normally independent layers.
In this change, we add a single byte at the start of the ch4 delta header to
set potential protocol flags. We also reclaim the revlog flag for sidedata,
since it is no longer used, in its place now lives the (also experimental)
copytracing flag.
When generating deltas, apply the `CG_FLAG_SIDEDATA` flag if there is sidedata.
When applying the deltas, if said flag is present, the next chunk contains the
sidedata.
Differential Revision: https://phab.mercurial-scm.org/D10343
author | Rapha?l Gom?s <rgomes@octobus.net> |
---|---|
date | Sat, 10 Apr 2021 11:27:40 +0200 |
parents | 3d740058b467 |
children | e91aa800ae5b |
comparison
equal
deleted
inserted
replaced
47076:08e26ef4ad35 | 47077:119790e1c67c |
---|---|
16 REVIDX_EXTSTORED, | 16 REVIDX_EXTSTORED, |
17 REVIDX_FLAGS_ORDER, | 17 REVIDX_FLAGS_ORDER, |
18 REVIDX_HASCOPIESINFO, | 18 REVIDX_HASCOPIESINFO, |
19 REVIDX_ISCENSORED, | 19 REVIDX_ISCENSORED, |
20 REVIDX_RAWTEXT_CHANGING_FLAGS, | 20 REVIDX_RAWTEXT_CHANGING_FLAGS, |
21 REVIDX_SIDEDATA, | |
22 ) | 21 ) |
23 | 22 |
24 from .. import error, util | 23 from .. import error, util |
25 | 24 |
26 # blanked usage of all the name to prevent pyflakes constraints | 25 # blanked usage of all the name to prevent pyflakes constraints |
27 # We need these name available in the module for extensions. | 26 # We need these name available in the module for extensions. |
28 REVIDX_ISCENSORED | 27 REVIDX_ISCENSORED |
29 REVIDX_ELLIPSIS | 28 REVIDX_ELLIPSIS |
30 REVIDX_EXTSTORED | 29 REVIDX_EXTSTORED |
31 REVIDX_SIDEDATA | |
32 REVIDX_HASCOPIESINFO, | 30 REVIDX_HASCOPIESINFO, |
33 REVIDX_DEFAULT_FLAGS | 31 REVIDX_DEFAULT_FLAGS |
34 REVIDX_FLAGS_ORDER | 32 REVIDX_FLAGS_ORDER |
35 REVIDX_RAWTEXT_CHANGING_FLAGS | 33 REVIDX_RAWTEXT_CHANGING_FLAGS |
36 | 34 |