0

几个月来,我们一直在工作中使用工作流,其中 SVN 开发人员创建 SVN 修复分支,这些分支使用 git 合并到一个集成分支中,并提交回 SVN,一次合并,使用 dcommit。在这个工作流程中,只有一个 git-svn 存储库来完成所有的合并工作。

这个工作流程运行良好,并且 git 合并通常忠实地保存在原始 git-svn 存储库中。

但是,现在我们决定将合并工作负载分散到多个用户中,每个用户都有自己的 git-svn 存储库。不幸的是,我们现在发现由一个 git-svn 用户执行的合并有时(但并非总是)在另一个用户的 git-svn 存储库中看起来像单个父提交,而不是看起来像两个父合并。

合并历史的丢失会对历史分析造成严重破坏,并导致不必要的合并冲突,因为 git 无法再识别正确的合并库,如果合并父级已在所有存储库中保留,它可以做到这一点。

有没有人有任何做法可以帮助避免导致合并历史记录在一个或多个与通用 SVN 存储库同步的 git-svn 存储库中损坏的情况?

4

1 回答 1

0

我不确定是什么导致了这个问题,但我发现一个可接受的解决方法是按照此处描述的技术使用移植在 git 中重新创建合并:

修复 Git 存储库中的 SVN 合并历史记录

虽然我还没有为过滤器分支而烦恼,因为我并不完全相信它与 git-svn 用来跟踪 SVN 和 git 提交之间的映射的 svn rev 映射配合得很好。

于 2013-06-01T03:17:00.940 回答