Show More
@@ -4,9 +4,11 b' Changegroups' | |||||
4 | Changegroups are representations of repository revlog data, specifically |
|
4 | Changegroups are representations of repository revlog data, specifically | |
5 | the changelog, manifest, and filelogs. |
|
5 | the changelog, manifest, and filelogs. | |
6 |
|
6 | |||
7 |
There are |
|
7 | There are 3 versions of changegroups: ``1``, ``2``, and ``3``. From a | |
8 |
high-level, |
|
8 | high-level, versions ``1`` and ``2`` are almost exactly the same, with | |
9 |
being a header on entries in the changeset |
|
9 | the only difference being a header on entries in the changeset | |
|
10 | segment. Version ``3`` adds support for exchanging treemanifests and | |||
|
11 | includes revlog flags in the delta header. | |||
10 |
|
12 | |||
11 | Changegroups consists of 3 logical segments:: |
|
13 | Changegroups consists of 3 logical segments:: | |
12 |
|
14 | |||
@@ -60,8 +62,8 b" Each *chunk*'s data consists of the foll" | |||||
60 | The *length* field is the byte length of the remaining 3 logical pieces |
|
62 | The *length* field is the byte length of the remaining 3 logical pieces | |
61 | of data. The *delta* is a diff from an existing entry in the changelog. |
|
63 | of data. The *delta* is a diff from an existing entry in the changelog. | |
62 |
|
64 | |||
63 |
The *delta header* is different between versions ``1`` |
|
65 | The *delta header* is different between versions ``1``, ``2``, and | |
64 | changegroup format. |
|
66 | ``3`` of the changegroup format. | |
65 |
|
67 | |||
66 | Version 1:: |
|
68 | Version 1:: | |
67 |
|
69 | |||
@@ -81,6 +83,15 b' Version 2::' | |||||
81 | | | | | | | |
|
83 | | | | | | | | |
82 | +------------------------------------------------------------------+ |
|
84 | +------------------------------------------------------------------+ | |
83 |
|
85 | |||
|
86 | Version 3:: | |||
|
87 | ||||
|
88 | +------------------------------------------------------------------------------+ | |||
|
89 | | | | | | | | | |||
|
90 | | node | p1 node | p2 node | base node | link node | flags | | |||
|
91 | | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (2 bytes) | | |||
|
92 | | | | | | | | | |||
|
93 | +------------------------------------------------------------------------------+ | |||
|
94 | ||||
84 | The *mdiff header* consists of 3 32-bit big-endian signed integers |
|
95 | The *mdiff header* consists of 3 32-bit big-endian signed integers | |
85 | describing offsets at which to apply the following delta content:: |
|
96 | describing offsets at which to apply the following delta content:: | |
86 |
|
97 | |||
@@ -125,6 +136,10 b' corresponding to an individual file whos' | |||||
125 | | | | | | |
|
136 | | | | | | | |
126 | +--------------------------------------+ |
|
137 | +--------------------------------------+ | |
127 |
|
138 | |||
|
139 | In version ``3`` of the changegroup format, filelogs may include | |||
|
140 | directory logs when treemanifests are in use. directory logs are | |||
|
141 | identified by having a trailing '/' on their filename (see below). | |||
|
142 | ||||
128 | The final filelog sub-segment is followed by an *empty chunk* to denote |
|
143 | The final filelog sub-segment is followed by an *empty chunk* to denote | |
129 | the end of the segment and the overall changegroup. |
|
144 | the end of the segment and the overall changegroup. | |
130 |
|
145 |
@@ -885,9 +885,11 b' sub-topics can be accessed' | |||||
885 | Changegroups are representations of repository revlog data, specifically |
|
885 | Changegroups are representations of repository revlog data, specifically | |
886 | the changelog, manifest, and filelogs. |
|
886 | the changelog, manifest, and filelogs. | |
887 |
|
887 | |||
888 |
There are |
|
888 | There are 3 versions of changegroups: "1", "2", and "3". From a high- | |
889 |
are almost exactly the same, with the only |
|
889 | level, versions "1" and "2" are almost exactly the same, with the only | |
890 | entries in the changeset segment. |
|
890 | difference being a header on entries in the changeset segment. Version "3" | |
|
891 | adds support for exchanging treemanifests and includes revlog flags in the | |||
|
892 | delta header. | |||
891 |
|
893 | |||
892 | Changegroups consists of 3 logical segments: |
|
894 | Changegroups consists of 3 logical segments: | |
893 |
|
895 | |||
@@ -941,7 +943,7 b' sub-topics can be accessed' | |||||
941 | The *length* field is the byte length of the remaining 3 logical pieces of |
|
943 | The *length* field is the byte length of the remaining 3 logical pieces of | |
942 | data. The *delta* is a diff from an existing entry in the changelog. |
|
944 | data. The *delta* is a diff from an existing entry in the changelog. | |
943 |
|
945 | |||
944 |
The *delta header* is different between versions "1" and " |
|
946 | The *delta header* is different between versions "1", "2", and "3" of the | |
945 | changegroup format. |
|
947 | changegroup format. | |
946 |
|
948 | |||
947 | Version 1: |
|
949 | Version 1: | |
@@ -962,6 +964,15 b' sub-topics can be accessed' | |||||
962 | | | | | | | |
|
964 | | | | | | | | |
963 | +------------------------------------------------------------------+ |
|
965 | +------------------------------------------------------------------+ | |
964 |
|
966 | |||
|
967 | Version 3: | |||
|
968 | ||||
|
969 | +------------------------------------------------------------------------------+ | |||
|
970 | | | | | | | | | |||
|
971 | | node | p1 node | p2 node | base node | link node | flags | | |||
|
972 | | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (2 bytes) | | |||
|
973 | | | | | | | | | |||
|
974 | +------------------------------------------------------------------------------+ | |||
|
975 | ||||
965 | The *mdiff header* consists of 3 32-bit big-endian signed integers |
|
976 | The *mdiff header* consists of 3 32-bit big-endian signed integers | |
966 | describing offsets at which to apply the following delta content: |
|
977 | describing offsets at which to apply the following delta content: | |
967 |
|
978 | |||
@@ -1006,6 +1017,10 b' sub-topics can be accessed' | |||||
1006 | | | | | | |
|
1017 | | | | | | | |
1007 | +--------------------------------------+ |
|
1018 | +--------------------------------------+ | |
1008 |
|
1019 | |||
|
1020 | In version "3" of the changegroup format, filelogs may include directory | |||
|
1021 | logs when treemanifests are in use. directory logs are identified by | |||
|
1022 | having a trailing '/' on their filename (see below). | |||
|
1023 | ||||
1009 | The final filelog sub-segment is followed by an *empty chunk* to denote |
|
1024 | The final filelog sub-segment is followed by an *empty chunk* to denote | |
1010 | the end of the segment and the overall changegroup. |
|
1025 | the end of the segment and the overall changegroup. | |
1011 |
|
1026 |
General Comments 0
You need to be logged in to leave comments.
Login now