Re: Git files data formats documentation
From: Nicolas Pitre <hidden>
Date: 2016-06-15 22:42:37
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