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

Re: Git files data formats documentation

From
Shawn Pearce <spearce@spearce.org>
Date
Aug 5, 2006, 16:22 UTC
Message-ID
<20060805162233.GA19909@spearce.org>
In-Reply-To
<44D42F0D.3040707@gmail.com>
A Large Angry SCM <gitzilla@gmail.com> wrote:
> This information may be useful for reading and writing the various Git 
> files.
[snip]
> 	#	/* -  -  -  -  -  -  -  -  -  -  -  - *\
> 	#	 | This reflects version 3 pack files |
> 	#	\* -  -  -  -  -  -  -  -  -  -  -  - */
[snip]
> 	#	/* -  -  -  -  -  -  -  -  -  -  -  - *\
> 	#	 | This reflects version 2 pack files |
> 	#	\* -  -  -  -  -  -  -  -  -  -  -  - */

Thanks for taking the time to write these out. The pack delta formats were particularly helpful as it caused me to go back and look at the unpacking code in jgit.

Apparently I wasn't handling the version 2 pack file correctly as I didn't support copy-from-result; I had an infinite loop if the base didn't decompress in one read (never happen right now, but could in the future); and apparently my insert opcode implementation was causing an infinite loop. Nasty bugs. I need to get more unit tests written apparently. :-)

-- 
Shawn.
Previous: Junio C HamanoNext: A Large Angry SCM
Message 7 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.