git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Question about the pack OBJ_OFS_DELTA format

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 10, 2020, 19:41 UTC
Message-ID
<xmqq1rs7m757.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<20200110095707.GA459765@coredump.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 16 quoted lines
> The pack-format.txt file says:
>
>        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.
>
> but I think is missing two bits of information:
>
>   - the bytes are in most-significant to least-significant order, which
>     IIRC is the opposite of the size varint
>
>   - each 7-bit byte sneaks in some extra data by implicitly adding "1"
>     to all but the last byte
Isn't the latter mentioned in the paragraph you quoted?
Previous: Erik FastermannNext: Jeff King
Message 4 of 5 in “Question about the pack OBJ_OFS_DELTA format”
  1. Erik FastermannJan 10, 2020
  2. Jeff KingJan 10, 2020
  3. Erik FastermannJan 10, 2020
  4. Junio C HamanoJan 10, 2020
  5. Jeff KingJan 11, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.