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