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