Show More
@@ -31,7 +31,8 b' File Format' | |||
|
31 | 31 | ----------- |
|
32 | 32 | |
|
33 | 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 | 37 | This integer is logically divided into 2 16-bit shorts. The least |
|
37 | 38 | significant half of the integer is the format/version short. The other |
@@ -70,8 +71,10 b' 00 02 00 01' | |||
|
70 | 71 | 00 03 00 01 |
|
71 | 72 | RevlogNG + inline + generaldelta |
|
72 | 73 | |
|
73 | Following the 32-bit header is *index* data. Inlined revision data is possibly | |
|
74 | located between index entries. More on this layout is described below. | |
|
74 | Following the 32-bit header is the remainder of the first index entry. | |
|
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 | 79 | RevlogNG Format |
|
77 | 80 | --------------- |
@@ -83,6 +86,8 b' or between index entries (as opposed to ' | |||
|
83 | 86 | Each index entry is 64 bytes. The byte layout of each entry is as |
|
84 | 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 | 91 | 0-5 (6 bytes) |
|
87 | 92 | Absolute offset of revision data from beginning of revlog. |
|
88 | 93 | 6-7 (2 bytes) |
@@ -120,6 +125,9 b' If revision data is not inline, then raw' | |||
|
120 | 125 | separate byte container. The offsets from bytes 0-5 and the compressed |
|
121 | 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 | 131 | Delta Chains |
|
124 | 132 | ------------ |
|
125 | 133 | |
@@ -190,4 +198,4 b' hash of a revision:' | |||
|
190 | 198 | 1. Hash the parent nodes |
|
191 | 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