如标题所述,
他们的意思是什么:
引入了一个实验性的“版本4”格式的索引文件,以减少磁盘占用空间和I / O开销
更重要的是,是否存在失去与此更改的向后兼容性的风险,或者此更改是否会损坏存储库?
进行一些测试表明它是向后兼容的,并没有发现任何不利影响。
有人可以澄清一下msysgit 1.7.11的实际变化是什么吗?
答案 0 :(得分:2)
这里没有兼容性问题(msysgit和git之间,或之前的Git版本),因为这是与git repo本身相同的修改(官方Git repo没有提到任何兼容性问题)。
在git repo文件Documentation/technical/index-format.txt
中查看有关GIT索引格式的信息:
(版本4)在版本4中,输入路径名称是前缀压缩的 相对于前一个条目的路径名(第一个 对条目进行编码,就好像前一个条目的路径名是 空字符串)。
在条目的开头,在整数N
中 可变宽度编码(与偏移相同的编码被编码 对于OFS_DELTA
包条目;随后存储了pack-format.txt) 由NUL终止的字符串S
从前一个条目的路径名末尾删除N
个字节,并将其替换为字符串S
,即可生成此条目的路径名。1-8个nul字节,根据需要将条目填充为八个字节的倍数 同时保持名称NUL终止。
(版本4)在版本4中,路径名后面的填充没有 存在。
所以这实际上是 index 条目的内部管理,它不会阻止git(1.7.11或任何其他版本)克隆/读取远程回购。
它的目的只是优化“入口路径名称”表示。