合并上的git segfaults-子模块冲突

合并上的git segfaults-子模块冲突,git,merge,branch,git-submodules,Git,Merge,Branch,Git Submodules,我试图用“git merge”命令组合两个分支上的代码,但在此过程中git崩溃了。我需要找到另一种方法来合并这些分支 要将合并输出增加到调试级别,我运行了: $ export GIT_MERGE_VERBOSITY=5 事实证明,在这一点上,git merge已经崩溃。我怎么知道的? -在Cygwin下运行git时: $ git merge origin/PH-RELEASE-146.0 11 [main] git 4352 _cygtls::handle_exceptions: E

我试图用“git merge”命令组合两个分支上的代码,但在此过程中git崩溃了。我需要找到另一种方法来合并这些分支

要将合并输出增加到调试级别,我运行了:

$ export GIT_MERGE_VERBOSITY=5 事实证明,在这一点上,git merge已经崩溃。我怎么知道的? -在Cygwin下运行git时:

$ git merge origin/PH-RELEASE-146.0

     11 [main] git 4352 _cygtls::handle_exceptions: Error while dumping state (probably corrupted stack)

Segmentation fault (core dumped)
  • 在Linux下运行git时,使用'ulimit-c unlimited':
$ulimit-c无限制;ls-l核;git merge-origin/PH-RELEASE-146.0;ls-l型芯 ls:无法访问core:没有这样的文件或目录 带有origin/PH-RELEASE-146.0的合并头 ... ... 与递归策略合并失败。 -rw------1用户组1589248 Jul 29 12:48核心
  • 在这两种情况下,.git/index.lock将保留,并且必须在任何git命令再次工作之前手动删除:

    $git状态 致命:无法创建“.git/index.lock”:文件存在

通过比较提交ID和gitk树中的ID,我手动完成了上面的合并。在我看来很清楚,git正在寻找共同的祖先,并将合并分解为多个部分,递归地处理每个祖先。但我认为导致问题的原因是,到名为“build”的子模块的“git链接”在提交e0a5fa1和ce62bf1之间发生了变化:

  • 在e0a5fa1中,子模块构建为8dc84b6
  • 在ce62bf1中,子模块构建应为b3efae4
所以很明显这是一场冲突。但这是“部分”合并过程中的冲突,不是最终的冲突。git似乎根本不能很好地处理这个问题

好的,所以可能有一个bug-我该如何提交bug报告

但我真正关心的是,我不能合并这两个分支。有人知道不使用“merge”命令将这些分支合并在一起的另一种方法吗?我能让“git merge”在整个合并过程中完全忽略这个子模块吗

Linux git版本1.6.0.4


Cygwin git版本1.6.1.2

尝试在linux上升级git,1.6.3.3是最新版本,如果这对尝试William的想法没有帮助的话。

您可以尝试在合并之前从每个分支中删除子模块,然后在合并之后添加子模块。我尝试了,但不幸的是没有成功,因为git通过提交历史追溯到次祖先,子模块存在并且不能删除。我最终解决了这个问题,将提交从一个分支挑选到另一个分支,但故意跳过更新子模块的任何提交。幸运的是,我们的子模块总是在提交中更新,没有任何其他更改!一旦我这样做了,我就能够使用“git merge-s resolve origin/PH-RELEASE-146.0”将两个分支组合在一起(合并提交中唯一的区别是缺少子模块),然后再添加子模块。是的,我可以确认1.6.3.3没有出现此问题。合并会正确识别与子模块的冲突,但不会使其崩溃,而是继续合并并将其他文件添加到索引中。
$ git merge origin/PH-RELEASE-146.0

     11 [main] git 4352 _cygtls::handle_exceptions: Error while dumping state (probably corrupted stack)

Segmentation fault (core dumped)
$ ulimit -c unlimited; ls -l core; git merge origin/PH-RELEASE-146.0; ls -l core ls: cannot access core: No such file or directory Merging HEAD with origin/PH-RELEASE-146.0 ... ... Merge with strategy recursive failed. -rw------- 1 user group 1589248 Jul 29 12:48 core