Mercurial > hg
annotate mercurial/help/internals/changegroups.txt @ 29747:aba2bb2a6d0f
help: don't try to render a section on sub-topics
This patch subtly changes the behavior of the parsing of "X.Y" values
to not set the "section" variable when rendering a known sub-topic.
Previously, "section" would be the same as the sub-topic name. This
required the sub-topic RST to have a section named the same as the
sub-topic name.
When I made this change, the descriptions from help.internalstable
started being rendered in command line output. This didn't look correct
to me, as it didn't match the formatting of main help pages. I
corrected this by moving the top section to help.internalstable and
changing the section levels of all the "internals" topics.
The end result is that "internals" topics now match the rendering of
main topics on both the CLI and HTML. And, "internals" topics no longer
require a main section matching the name of the topic.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sat, 06 Aug 2016 17:04:22 -0700 |
parents | 11150176a000 |
children | 9f169b7f53d5 |
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. |