equal
deleted
inserted
replaced
2 the changelog data, root/flat manifest data, treemanifest data, and |
2 the changelog data, root/flat manifest data, treemanifest data, and |
3 filelogs. |
3 filelogs. |
4 |
4 |
5 There are 3 versions of changegroups: ``1``, ``2``, and ``3``. From a |
5 There are 3 versions of changegroups: ``1``, ``2``, and ``3``. From a |
6 high-level, versions ``1`` and ``2`` are almost exactly the same, with the |
6 high-level, versions ``1`` and ``2`` are almost exactly the same, with the |
7 only difference being an additional item in the *delta header*. Version |
7 only difference being an additional item in the *delta header*. Version |
8 ``3`` adds support for revlog flags in the *delta header* and optionally |
8 ``3`` adds support for storage flags in the *delta header* and optionally |
9 exchanging treemanifests (enabled by setting an option on the |
9 exchanging treemanifests (enabled by setting an option on the |
10 ``changegroup`` part in the bundle2). |
10 ``changegroup`` part in the bundle2). |
11 |
11 |
12 Changegroups when not exchanging treemanifests consist of 3 logical |
12 Changegroups when not exchanging treemanifests consist of 3 logical |
13 segments:: |
13 segments:: |
124 changegroup. |
124 changegroup. |
125 |
125 |
126 In version 2 and up, the delta base node is encoded in the entry in the |
126 In version 2 and up, the delta base node is encoded in the entry in the |
127 changegroup. This allows the delta to be expressed against any parent, |
127 changegroup. This allows the delta to be expressed against any parent, |
128 which can result in smaller deltas and more efficient encoding of data. |
128 which can result in smaller deltas and more efficient encoding of data. |
|
129 |
|
130 The *flags* field holds bitwise flags affecting the processing of revision |
|
131 data. The following flags are defined: |
|
132 |
|
133 32768 |
|
134 Censored revision. The revision's fulltext has been replaced by censor |
|
135 metadata. May only occur on file revisions. |
|
136 16384 |
|
137 Ellipsis revision. Revision hash does not match data (likely due to rewritten |
|
138 parents). |
|
139 8192 |
|
140 Externally stored. The revision fulltext contains ``key:value`` ``\n`` |
|
141 delimited metadata defining an object stored elsewhere. Used by the LFS |
|
142 extension. |
|
143 |
|
144 For historical reasons, the integer values are identical to revlog version 1 |
|
145 per-revision storage flags and correspond to bits being set in this 2-byte |
|
146 field. Bits were allocated starting from the most-significant bit, hence the |
|
147 reverse ordering and allocation of these flags. |
129 |
148 |
130 Changeset Segment |
149 Changeset Segment |
131 ================= |
150 ================= |
132 |
151 |
133 The *changeset segment* consists of a single *delta group* holding |
152 The *changeset segment* consists of a single *delta group* holding |