X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=Documentation%2Ftechnical%2Fpack-format.txt;h=1803e64e465fa4f8f0fe520fc0fd95d0c9def5bd;hb=9c6c304d6a01b72d7ce20722b80ca62e01fe8356;hp=a80baa4382ce72cd6d3e1f1719a17264fc36ee02;hpb=bd8ff616c998da8b08bd59b47644408048b3016d;p=git.git diff --git a/Documentation/technical/pack-format.txt b/Documentation/technical/pack-format.txt index a80baa438..1803e64e4 100644 --- a/Documentation/technical/pack-format.txt +++ b/Documentation/technical/pack-format.txt @@ -103,10 +103,24 @@ Pack file entry: <+ packed object data: If it is not DELTA, then deflated bytes (the size above is the size before compression). - If it is DELTA, then + If it is REF_DELTA, then 20-byte base object name SHA1 (the size above is the size of the delta data that follows). delta data, deflated. + If it is OFS_DELTA, then + n-byte offset (see below) interpreted as a negative + offset from the type-byte of the header of the + ofs-delta entry (the size above is the size of + the delta data that follows). + delta data, deflated. + + offset encoding: + n bytes with MSB set in all but the last one. + The offset is then the number constructed by + concatenating the lower 7 bit of each byte, and + for n >= 2 adding 2^7 + 2^14 + ... + 2^(7*(n-1)) + to the result. + = Version 2 pack-*.idx files support packs larger than 4 GiB, and @@ -125,7 +139,7 @@ Pack file entry: <+ - A table of 4-byte CRC32 values of the packed object data. This is new in v2 so compressed data can be copied directly - from pack to pack during repacking withough undetected + from pack to pack during repacking without undetected data corruption. - A table of 4-byte offset values (in network byte order).