annotate mercurial/help/internals/changegroups.txt @ 30790:dbcc10cf7f8d

patch: add label for coloring the index extended header Just like the summary says, this will colorize the: index 3d3ba4b65e11..57274a0f46b2 100644 line in the diff output.
author Sean Farley <sean@farley.io>
date Mon, 09 Jan 2017 10:59:45 -0800
parents aba2bb2a6d0f
children 9f169b7f53d5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27372
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
1 Changegroups are representations of repository revlog data, specifically
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
2 the changelog, manifest, and filelogs.
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
3
27434
11150176a000 changegroups: add documentation for cg3
Augie Fackler <augie@google.com>
parents: 27372
diff changeset
4 There are 3 versions of changegroups: ``1``, ``2``, and ``3``. From a
11150176a000 changegroups: add documentation for cg3
Augie Fackler <augie@google.com>
parents: 27372
diff changeset
5 high-level, versions ``1`` and ``2`` are almost exactly the same, with
11150176a000 changegroups: add documentation for cg3
Augie Fackler <augie@google.com>
parents: 27372
diff changeset
6 the only difference being a header on entries in the changeset
11150176a000 changegroups: add documentation for cg3
Augie Fackler <augie@google.com>
parents: 27372
diff changeset
7 segment. Version ``3`` adds support for exchanging treemanifests and
11150176a000 changegroups: add documentation for cg3
Augie Fackler <augie@google.com>
parents: 27372
diff changeset
8 includes revlog flags in the delta header.
27372
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
9
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
10 Changegroups consists of 3 logical segments::
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
11
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
12 +---------------------------------+
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
13 | | | |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
14 | changeset | manifest | filelogs |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
15 | | | |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
16 +---------------------------------+
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
17
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
18 The principle building block of each segment is a *chunk*. A *chunk*
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
19 is a framed piece of data::
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
20
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
21 +---------------------------------------+
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
22 | | |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
23 | length | data |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
24 | (32 bits) | <length> bytes |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
25 | | |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
26 +---------------------------------------+
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
27
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
28 Each chunk starts with a 32-bit big-endian signed integer indicating
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
29 the length of the raw data that follows.
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
30
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
31 There is a special case chunk that has 0 length (``0x00000000``). We
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
32 call this an *empty chunk*.
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
33
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
34 Delta Groups
29747
aba2bb2a6d0f help: don't try to render a section on sub-topics
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27434
diff changeset
35 ============
27372
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
36
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
37 A *delta group* expresses the content of a revlog as a series of deltas,
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
38 or patches against previous revisions.
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
39
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
40 Delta groups consist of 0 or more *chunks* followed by the *empty chunk*
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
41 to signal the end of the delta group::
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
42
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
43 +------------------------------------------------------------------------+
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
44 | | | | | |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
45 | chunk0 length | chunk0 data | chunk1 length | chunk1 data | 0x0 |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
46 | (32 bits) | (various) | (32 bits) | (various) | (32 bits) |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
47 | | | | | |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
48 +------------------------------------------------------------+-----------+
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
49
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
50 Each *chunk*'s data consists of the following::
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
51
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
52 +-----------------------------------------+
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
53 | | | |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
54 | delta header | mdiff header | delta |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
55 | (various) | (12 bytes) | (various) |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
56 | | | |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
57 +-----------------------------------------+
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
58
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
59 The *length* field is the byte length of the remaining 3 logical pieces
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
60 of data. The *delta* is a diff from an existing entry in the changelog.
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
61
27434
11150176a000 changegroups: add documentation for cg3
Augie Fackler <augie@google.com>
parents: 27372
diff changeset
62 The *delta header* is different between versions ``1``, ``2``, and
11150176a000 changegroups: add documentation for cg3
Augie Fackler <augie@google.com>
parents: 27372
diff changeset
63 ``3`` of the changegroup format.
27372
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
64
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
65 Version 1::
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
66
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
67 +------------------------------------------------------+
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
68 | | | | |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
69 | node | p1 node | p2 node | link node |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
70 | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
71 | | | | |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
72 +------------------------------------------------------+
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
73
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
74 Version 2::
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
75
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
76 +------------------------------------------------------------------+
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
77 | | | | | |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
78 | node | p1 node | p2 node | base node | link node |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
79 | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
80 | | | | | |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
81 +------------------------------------------------------------------+
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
82
27434
11150176a000 changegroups: add documentation for cg3
Augie Fackler <augie@google.com>
parents: 27372
diff changeset
83 Version 3::
11150176a000 changegroups: add documentation for cg3
Augie Fackler <augie@google.com>
parents: 27372
diff changeset
84
11150176a000 changegroups: add documentation for cg3
Augie Fackler <augie@google.com>
parents: 27372
diff changeset
85 +------------------------------------------------------------------------------+
11150176a000 changegroups: add documentation for cg3
Augie Fackler <augie@google.com>
parents: 27372
diff changeset
86 | | | | | | |
11150176a000 changegroups: add documentation for cg3
Augie Fackler <augie@google.com>
parents: 27372
diff changeset
87 | node | p1 node | p2 node | base node | link node | flags |
11150176a000 changegroups: add documentation for cg3
Augie Fackler <augie@google.com>
parents: 27372
diff changeset
88 | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (20 bytes) | (2 bytes) |
11150176a000 changegroups: add documentation for cg3
Augie Fackler <augie@google.com>
parents: 27372
diff changeset
89 | | | | | | |
11150176a000 changegroups: add documentation for cg3
Augie Fackler <augie@google.com>
parents: 27372
diff changeset
90 +------------------------------------------------------------------------------+
11150176a000 changegroups: add documentation for cg3
Augie Fackler <augie@google.com>
parents: 27372
diff changeset
91
27372
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
92 The *mdiff header* consists of 3 32-bit big-endian signed integers
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
93 describing offsets at which to apply the following delta content::
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
94
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
95 +-------------------------------------+
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
96 | | | |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
97 | offset | old length | new length |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
98 | (32 bits) | (32 bits) | (32 bits) |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
99 | | | |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
100 +-------------------------------------+
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
101
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
102 In version 1, the delta is always applied against the previous node from
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
103 the changegroup or the first parent if this is the first entry in the
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
104 changegroup.
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
105
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
106 In version 2, the delta base node is encoded in the entry in the
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
107 changegroup. This allows the delta to be expressed against any parent,
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
108 which can result in smaller deltas and more efficient encoding of data.
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
109
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
110 Changeset Segment
29747
aba2bb2a6d0f help: don't try to render a section on sub-topics
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27434
diff changeset
111 =================
27372
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
112
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
113 The *changeset segment* consists of a single *delta group* holding
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
114 changelog data. It is followed by an *empty chunk* to denote the
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
115 boundary to the *manifests segment*.
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
116
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
117 Manifest Segment
29747
aba2bb2a6d0f help: don't try to render a section on sub-topics
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27434
diff changeset
118 ================
27372
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
119
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
120 The *manifest segment* consists of a single *delta group* holding
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
121 manifest data. It is followed by an *empty chunk* to denote the boundary
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
122 to the *filelogs segment*.
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
123
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
124 Filelogs Segment
29747
aba2bb2a6d0f help: don't try to render a section on sub-topics
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27434
diff changeset
125 ================
27372
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
126
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
127 The *filelogs* segment consists of multiple sub-segments, each
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
128 corresponding to an individual file whose data is being described::
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
129
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
130 +--------------------------------------+
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
131 | | | | |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
132 | filelog0 | filelog1 | filelog2 | ... |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
133 | | | | |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
134 +--------------------------------------+
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
135
27434
11150176a000 changegroups: add documentation for cg3
Augie Fackler <augie@google.com>
parents: 27372
diff changeset
136 In version ``3`` of the changegroup format, filelogs may include
11150176a000 changegroups: add documentation for cg3
Augie Fackler <augie@google.com>
parents: 27372
diff changeset
137 directory logs when treemanifests are in use. directory logs are
11150176a000 changegroups: add documentation for cg3
Augie Fackler <augie@google.com>
parents: 27372
diff changeset
138 identified by having a trailing '/' on their filename (see below).
11150176a000 changegroups: add documentation for cg3
Augie Fackler <augie@google.com>
parents: 27372
diff changeset
139
27372
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
140 The final filelog sub-segment is followed by an *empty chunk* to denote
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
141 the end of the segment and the overall changegroup.
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
142
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
143 Each filelog sub-segment consists of the following::
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
144
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
145 +------------------------------------------+
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
146 | | | |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
147 | filename size | filename | delta group |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
148 | (32 bits) | (various) | (various) |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
149 | | | |
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
150 +------------------------------------------+
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
151
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
152 That is, a *chunk* consisting of the filename (not terminated or padded)
a79cba6cb206 help: add documentation for changegroup formats
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff changeset
153 followed by N chunks constituting the *delta group* for this file.