equal
deleted
inserted
replaced
1036 the changelog data, root/flat manifest data, treemanifest data, and |
1036 the changelog data, root/flat manifest data, treemanifest data, and |
1037 filelogs. |
1037 filelogs. |
1038 |
1038 |
1039 There are 3 versions of changegroups: "1", "2", and "3". From a high- |
1039 There are 3 versions of changegroups: "1", "2", and "3". From a high- |
1040 level, versions "1" and "2" are almost exactly the same, with the only |
1040 level, versions "1" and "2" are almost exactly the same, with the only |
1041 difference being an additional item in the *delta header*. Version "3" |
1041 difference being an additional item in the *delta header*. Version "3" |
1042 adds support for revlog flags in the *delta header* and optionally |
1042 adds support for storage flags in the *delta header* and optionally |
1043 exchanging treemanifests (enabled by setting an option on the |
1043 exchanging treemanifests (enabled by setting an option on the |
1044 "changegroup" part in the bundle2). |
1044 "changegroup" part in the bundle2). |
1045 |
1045 |
1046 Changegroups when not exchanging treemanifests consist of 3 logical |
1046 Changegroups when not exchanging treemanifests consist of 3 logical |
1047 segments: |
1047 segments: |
1159 changegroup. |
1159 changegroup. |
1160 |
1160 |
1161 In version 2 and up, the delta base node is encoded in the entry in the |
1161 In version 2 and up, the delta base node is encoded in the entry in the |
1162 changegroup. This allows the delta to be expressed against any parent, |
1162 changegroup. This allows the delta to be expressed against any parent, |
1163 which can result in smaller deltas and more efficient encoding of data. |
1163 which can result in smaller deltas and more efficient encoding of data. |
|
1164 |
|
1165 The *flags* field holds bitwise flags affecting the processing of revision |
|
1166 data. The following flags are defined: |
|
1167 |
|
1168 32768 |
|
1169 Censored revision. The revision's fulltext has been replaced by censor |
|
1170 metadata. May only occur on file revisions. |
|
1171 |
|
1172 16384 |
|
1173 Ellipsis revision. Revision hash does not match data (likely due to |
|
1174 rewritten parents). |
|
1175 |
|
1176 8192 |
|
1177 Externally stored. The revision fulltext contains "key:value" "\n" |
|
1178 delimited metadata defining an object stored elsewhere. Used by the LFS |
|
1179 extension. |
|
1180 |
|
1181 For historical reasons, the integer values are identical to revlog version |
|
1182 1 per-revision storage flags and correspond to bits being set in this |
|
1183 2-byte field. Bits were allocated starting from the most-significant bit, |
|
1184 hence the reverse ordering and allocation of these flags. |
1164 |
1185 |
1165 Changeset Segment |
1186 Changeset Segment |
1166 ================= |
1187 ================= |
1167 |
1188 |
1168 The *changeset segment* consists of a single *delta group* holding |
1189 The *changeset segment* consists of a single *delta group* holding |
3433 filelogs. |
3454 filelogs. |
3434 </p> |
3455 </p> |
3435 <p> |
3456 <p> |
3436 There are 3 versions of changegroups: "1", "2", and "3". From a |
3457 There are 3 versions of changegroups: "1", "2", and "3". From a |
3437 high-level, versions "1" and "2" are almost exactly the same, with the |
3458 high-level, versions "1" and "2" are almost exactly the same, with the |
3438 only difference being an additional item in the *delta header*. Version |
3459 only difference being an additional item in the *delta header*. Version |
3439 "3" adds support for revlog flags in the *delta header* and optionally |
3460 "3" adds support for storage flags in the *delta header* and optionally |
3440 exchanging treemanifests (enabled by setting an option on the |
3461 exchanging treemanifests (enabled by setting an option on the |
3441 "changegroup" part in the bundle2). |
3462 "changegroup" part in the bundle2). |
3442 </p> |
3463 </p> |
3443 <p> |
3464 <p> |
3444 Changegroups when not exchanging treemanifests consist of 3 logical |
3465 Changegroups when not exchanging treemanifests consist of 3 logical |
3579 </p> |
3600 </p> |
3580 <p> |
3601 <p> |
3581 In version 2 and up, the delta base node is encoded in the entry in the |
3602 In version 2 and up, the delta base node is encoded in the entry in the |
3582 changegroup. This allows the delta to be expressed against any parent, |
3603 changegroup. This allows the delta to be expressed against any parent, |
3583 which can result in smaller deltas and more efficient encoding of data. |
3604 which can result in smaller deltas and more efficient encoding of data. |
|
3605 </p> |
|
3606 <p> |
|
3607 The *flags* field holds bitwise flags affecting the processing of revision |
|
3608 data. The following flags are defined: |
|
3609 </p> |
|
3610 <dl> |
|
3611 <dt>32768 |
|
3612 <dd>Censored revision. The revision's fulltext has been replaced by censor metadata. May only occur on file revisions. |
|
3613 <dt>16384 |
|
3614 <dd>Ellipsis revision. Revision hash does not match data (likely due to rewritten parents). |
|
3615 <dt>8192 |
|
3616 <dd>Externally stored. The revision fulltext contains "key:value" "\n" delimited metadata defining an object stored elsewhere. Used by the LFS extension. |
|
3617 </dl> |
|
3618 <p> |
|
3619 For historical reasons, the integer values are identical to revlog version 1 |
|
3620 per-revision storage flags and correspond to bits being set in this 2-byte |
|
3621 field. Bits were allocated starting from the most-significant bit, hence the |
|
3622 reverse ordering and allocation of these flags. |
3584 </p> |
3623 </p> |
3585 <h2>Changeset Segment</h2> |
3624 <h2>Changeset Segment</h2> |
3586 <p> |
3625 <p> |
3587 The *changeset segment* consists of a single *delta group* holding |
3626 The *changeset segment* consists of a single *delta group* holding |
3588 changelog data. The *empty chunk* at the end of the *delta group* denotes |
3627 changelog data. The *empty chunk* at the end of the *delta group* denotes |