##// END OF EJS Templates
help: document sharing of revlog header with revision 0...
Gregory Szorc -
r28590:b0b9f6b0 default
parent child Browse files
Show More
@@ -31,7 +31,8 b' File Format'
31 -----------
31 -----------
32
32
33 A revlog begins with a 32-bit big endian integer holding version info
33 A revlog begins with a 32-bit big endian integer holding version info
34 and feature flags.
34 and feature flags. This integer is shared with the first revision
35 entry.
35
36
36 This integer is logically divided into 2 16-bit shorts. The least
37 This integer is logically divided into 2 16-bit shorts. The least
37 significant half of the integer is the format/version short. The other
38 significant half of the integer is the format/version short. The other
@@ -70,8 +71,10 b' 00 02 00 01'
70 00 03 00 01
71 00 03 00 01
71 RevlogNG + inline + generaldelta
72 RevlogNG + inline + generaldelta
72
73
73 Following the 32-bit header is *index* data. Inlined revision data is possibly
74 Following the 32-bit header is the remainder of the first index entry.
74 located between index entries. More on this layout is described below.
75 Following that are remaining *index* data. Inlined revision data is
76 possibly located between index entries. More on this layout is described
77 below.
75
78
76 RevlogNG Format
79 RevlogNG Format
77 ---------------
80 ---------------
@@ -83,6 +86,8 b' or between index entries (as opposed to '
83 Each index entry is 64 bytes. The byte layout of each entry is as
86 Each index entry is 64 bytes. The byte layout of each entry is as
84 follows, with byte 0 being the first byte (all data stored as big endian):
87 follows, with byte 0 being the first byte (all data stored as big endian):
85
88
89 0-3 (4 bytes) (rev 0 only)
90 Revlog header
86 0-5 (6 bytes)
91 0-5 (6 bytes)
87 Absolute offset of revision data from beginning of revlog.
92 Absolute offset of revision data from beginning of revlog.
88 6-7 (2 bytes)
93 6-7 (2 bytes)
@@ -120,6 +125,9 b' If revision data is not inline, then raw'
120 separate byte container. The offsets from bytes 0-5 and the compressed
125 separate byte container. The offsets from bytes 0-5 and the compressed
121 length from bytes 8-11 define how to access this data.
126 length from bytes 8-11 define how to access this data.
122
127
128 The first 4 bytes of the revlog are shared between the revlog header
129 and the 6 byte absolute offset field from the first revlog entry.
130
123 Delta Chains
131 Delta Chains
124 ------------
132 ------------
125
133
@@ -190,4 +198,4 b' hash of a revision:'
190 1. Hash the parent nodes
198 1. Hash the parent nodes
191 2. Hash the fulltext of the revision
199 2. Hash the fulltext of the revision
192
200
193 The 20 byte node ids of the parents are fed into the hasher in ascending order. No newline at end of file
201 The 20 byte node ids of the parents are fed into the hasher in ascending order.
General Comments 0
You need to be logged in to leave comments. Login now