Mercurial > hg
changeset 41199:d8fe67db5234
internals: minor rewriting of revlogs documentation
In preparation for formalizing revlog version 2.
Differential Revision: https://phab.mercurial-scm.org/D5558
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Wed, 09 Jan 2019 15:33:44 -0800 |
parents | 4f0ae5c64c1b |
children | cecf3f8bccd3 |
files | mercurial/help/internals/revlogs.txt |
diffstat | 1 files changed, 14 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/help/internals/revlogs.txt Thu Jan 10 19:25:07 2019 -0800 +++ b/mercurial/help/internals/revlogs.txt Wed Jan 09 15:33:44 2019 -0800 @@ -11,8 +11,8 @@ links to its *parent* entries. The collective metadata is referred to as the *index* and the revision data is the *data*. -Revision data is stored as a series of compressed deltas against previous -revisions. +Revision data is stored as a series of compressed deltas against +ancestor revisions. Revlogs are written in an append-only fashion. We never need to rewrite a file to insert nor do we need to remove data. Rolling back in-progress @@ -35,9 +35,6 @@ significant half of the integer is the format/version short. The other short holds feature flags that dictate behavior of the revlog. -Only 1 bit of the format/version short is currently used. Remaining -bits are reserved for future use. - The following values for the format/version short are defined: 0 @@ -53,15 +50,24 @@ beyond 32-bit header. The feature flags short consists of bit flags. Where 0 is the least -significant bit, the following bit offsets define flags: +significant bit. The bit flags vary by revlog version. + +Version 0 revlogs have no defined flags and the presence of a flag +is considered an error. + +Version 1 revlogs have the following flags at the specified bit offsets: 0 Store revision data inline. 1 Generaldelta encoding. -2-15 - Reserved for future use. +Version 2 revlogs have the following flags at the specified bit offsets: + +0 + Store revision data inline. +1 + Generaldelta encoding. The following header values are common: