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

Re: Git files data formats documentation

From
Nicolas Pitre <nico@cam.org>
Date
Aug 16, 2006, 16:55 UTC
Message-ID
<Pine.LNX.4.64.0608161243080.3494@localhost.localdomain>
In-Reply-To
<44D51D47.9090700@gmail.com>
A Large Angry SCM wrote:
> This information may be useful for reading and writing the various Git
> files.
[...]
        # For version 2 pack files, the size of a copy is limited to
        # 64K bytes or less and bit 6 of the opcode byte is set if the
        # source of the copy is from the buffer of the result object
        # instead of the the base object.
        #
        # It's unknown if any version 2 pack files were created with
        # bit 6 set in the opcode byte; however, the change that added
        # support for version 3 pack files removed the code that would
        # change the copy source to the result buffer.

There were no version 2 pack files with bit 6 set in the opcode byte ever produced (except on my own hard disk when I was experimenting with that feature). The (negative) compression gain turned up to be not worth the needed computational cost to make use of it, hence that bit is now dedicated to specifying an extra size byte.

See commit d60fc1c8649f80c006b9f493c542461e81608d4b log message for more.

Nicolas
Previous: A Large Angry SCM
Message 13 of 13 in “Git files data formats documentation”
  1. A Large Angry SCMAug 5, 2006
  2. Jon SmirlAug 5, 2006
  3. Junio C HamanoAug 5, 2006
  4. Shawn PearceAug 5, 2006
  5. A Large Angry SCMAug 5, 2006
  6. Junio C HamanoAug 6, 2006
  7. Shawn PearceAug 5, 2006
  8. A Large Angry SCMAug 5, 2006
  9. Jakub NarebskiAug 5, 2006
  10. A Large Angry SCMAug 5, 2006
  11. Jakub NarebskiAug 5, 2006
  12. A Large Angry SCMAug 5, 2006
  13. Nicolas PitreAug 16, 2006

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.