Git 合并因分段错误而失败

阿里尔马

我有涉及 many 的大型合并inexact rename,但它因以下原因而失败:

Performing inexact rename detection: 100% (169817200/169817200), done.
Performing inexact rename detection: 100% (2106881938/2106881938), done.
Performing inexact rename detection: 100% (120035958/120035958), done.
Segmentation fault

我试图重新启动我的VDI但没有帮助。知道如何解决吗?

VonC

根据讨论,这仅在涉及重命名文件夹和许多文件的复杂合并期间发生。

这是新合并策略 ORT(“表面上递归的孪生”)的工作。
该合并策略将在 2.34 中成为默认值,但与此同时,在 git 2.33.0.2 中:

git merge -s ort

这里值得注意的主要区别是工作树和索引的更新不是与合并算法同时完成的,而是一个单独的后处理步骤。
新的 API 被设计成可以进行重复合并(例如在 rebase 或cherry-pick 期间)并且只在最后更新索引和工作树一次,而不是用每个中间结果更新它。

此外,可以在两个分支之间执行合并,这两个分支都不匹配索引或工作树,而不会破坏索引或工作树。

“ort”后端在内存中进行完整的合并,并且仅作为后处理步骤更新索引和工作副本。

它确实比以前更有效地处理文件冲突和文件/文件夹重命名(使用默认的“递归”策略)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章