summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2020-02-07 22:16:40 (GMT)
committerJunio C Hamano <gitster@pobox.com>2020-02-10 17:01:48 (GMT)
commiteb31044ff793de9a8a093f567f5eb262ac196c24 (patch)
treebb466fa7428b59a818ddf636ef85218972790a4b
parenta7312d1a28ff3ab0a5a5427b35f01d943103cba8 (diff)
downloadgit-eb31044ff793de9a8a093f567f5eb262ac196c24.zip
git-eb31044ff793de9a8a093f567f5eb262ac196c24.tar.gz
git-eb31044ff793de9a8a093f567f5eb262ac196c24.tar.bz2
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 <johannes@sipsolutions.net> Acked-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--Documentation/technical/pack-format.txt5
1 files changed, 3 insertions, 2 deletions
diff --git a/Documentation/technical/pack-format.txt b/Documentation/technical/pack-format.txt
index cab5bdd..d3a142c 100644
--- a/Documentation/technical/pack-format.txt
+++ b/Documentation/technical/pack-format.txt
@@ -315,10 +315,11 @@ CHUNK DATA:
Stores two 4-byte values for every object.
1: The pack-int-id for the pack storing this object.
2: The offset within the pack.
- If all offsets are less than 2^31, then the large offset chunk
+ If all offsets are less than 2^32, then the large offset chunk
will not exist and offsets are stored as in IDX v1.
If there is at least one offset value larger than 2^32-1, then
- the large offset chunk must exist. If the large offset chunk
+ the large offset chunk must exist, and offsets larger than
+ 2^31-1 must be stored in it instead. If the large offset chunk
exists and the 31st bit is on, then removing that bit reveals
the row in the large offsets containing the 8-byte offset of
this object.