Re: Git files data formats documentation
- From
A Large Angry SCM <gitzilla@gmail.com>
- Date
- Aug 5, 2006, 17:31 UTC
- Message-ID
- <44D4D5DD.8070908@gmail.com>
- In-Reply-To
- <20060805162233.GA19909@spearce.org>
Shawn Pearce wrote:
Show 22 quoted lines
> 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. :-)
Keep in mind that the git-core code for reading version 2 or version 3 pack files does _not_ handle copy-from-result correctly.