分割错误导致Git合并失败



我有一个涉及许多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,但它没有帮助。知道怎么解吗?

从讨论来看,这只发生在涉及重命名文件夹和许多文件的复杂合并期间。

这是新的合并策略ORT("表面上是递归的孪生")的工作。
该合并策略将成为2.34版本的默认策略,但与此同时,对于git 2.33.0.2:

git merge -s ort

这里主要的区别是工作树和索引的更新不是与合并算法同时完成的,而是一个单独的后处理步骤。
新的API被设计为可以重复合并(例如在重新排序或樱桃选择期间),并且只在最后一次更新索引和工作树,而不是在每个中间结果中更新它。

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

"ort"后端在内存中完成合并,只更新索引和工作副本作为后处理步骤。

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