Shawn Pearce wrote:
A Large Angry SCM <gitzilla@xxxxxxxxx> 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.
-
: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html