Skip to content

Commit eb31044

Browse files
jmberggitster
authored andcommitted
pack-format: correct multi-pack-index description
The description of the multi-pack-index contains a small bug, if all offsets are < 2^32 then there will be no LOFF chunk, not only if they're all < 2^31 (since the highest bit is only needed as the "LOFF-escape" when that's actually needed.) Correct this, and clarify that in that case only offsets up to 2^31-1 can be stored in the OOFF chunk. Signed-off-by: Johannes Berg <[email protected]> Acked-by: Derrick Stolee <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent a7312d1 commit eb31044

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

Documentation/technical/pack-format.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -315,10 +315,11 @@ CHUNK DATA:
315315
Stores two 4-byte values for every object.
316316
1: The pack-int-id for the pack storing this object.
317317
2: The offset within the pack.
318-
If all offsets are less than 2^31, then the large offset chunk
318+
If all offsets are less than 2^32, then the large offset chunk
319319
will not exist and offsets are stored as in IDX v1.
320320
If there is at least one offset value larger than 2^32-1, then
321-
the large offset chunk must exist. If the large offset chunk
321+
the large offset chunk must exist, and offsets larger than
322+
2^31-1 must be stored in it instead. If the large offset chunk
322323
exists and the 31st bit is on, then removing that bit reveals
323324
the row in the large offsets containing the 8-byte offset of
324325
this object.

0 commit comments

Comments
 (0)