我对 Git pack 文件格式的理解是这样的:
其中表为32位宽,前三个32位字为打包文件头。最后一行的 32 位是条目的前 4 个字节。据我了解,条目的大小由设置了 MSB 的连续字节指定,后跟压缩数据。
第一个未设置MSB的字节中,MSB部分是压缩数据,还是空隙?如果它是压缩数据的一部分,您如何保证在压缩数据时不会设置该位?
最佳答案
我对 pack file documentation 的阅读指示大小的最后一个字节(在您的示例中为偏移量 15)会将 MSB 设置为 0。
关于Git pack 文件入口格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76002/