3

如标题所述,

他们的意思是什么:

引入了索引文件的实验性“版本 4”格式,以减少磁盘占用和 I/O 开销

更重要的是,是否存在失去与此更改的向后兼容性的风险,或者此更改是否会损坏存储库?

做一些测试表明它向后兼容并且没有显示任何不利影响。

有人可以澄清一下这个变化实际上对 msysgit 1.7.11 有什么影响吗?

4

1 回答 1

2

这里没有兼容性问题(在 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。 它仅旨在优化“入口路径名称”表示。

于 2012-07-25T06:54:17.293 回答