Merge branch 'ds/multi-pack-index'
[gitweb.git] / Documentation / technical / pack-format.txt
index 3215f7bfcdbda934b78255893474884b421a913f..cab5bdd2ff0f887cb991e2dc9ba3cccec34f8a0a 100644 (file)
@@ -311,7 +311,20 @@ CHUNK DATA:
            The OIDs for all objects in the MIDX are stored in lexicographic
            order in this chunk.
 
-       (This section intentionally left incomplete.)
+       Object Offsets (ID: {'O', 'O', 'F', 'F'})
+           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
+               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
+               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.
+
+       [Optional] Object Large Offsets (ID: {'L', 'O', 'F', 'F'})
+           8-byte offsets into large packfiles.
 
 TRAILER: