我断断续续地研究这个问题已经好几个星期了,所以如果这个问题已经得到解答,我深表歉意。
我的主要问题是在执行连续合并后合并。
我有我的 /trunk
,我从中创建我的分支 /branches/featureone
。然后开发人员继续在所述分支内进行开发。
在此开发过程中,团队的其他成员继续在 /trunk
中修复小错误。分支每天都会根据主干的更改进行更新。我们到了项目的末尾,现在是时候合并回主干了。这就是问题发生的地方。
在这个特定的例子中,许多旧的、无意义的文件从 /trunk
中被删除。这与 /branches/featureone
成功合并。所以主干和分支都删除了这些文件。
我使用具有以下设置的 TortoiseSVN 将 /branches/featureone
合并到 /trunk
中:
运行测试合并,删除突然产生了冲突负载。删除传入删除。这也会发生在任何已添加的新文件中,文件添加和传入添加。
我的问题是如何解决这个问题? SVN 不是要自动解决这个问题吗?我可以继续并手动选择不是来自主干的合并的所有修订,但这似乎是错误的。
我在 TortoiseSVN 1.8.4 和 Subversion Edge 4.0.4(Subversion 1.8.5)上运行。
我们的SVN结构一般是这样的:
\---svn
+---branches
| +---featureone
| \---featuretwo
+---production
\---trunk
我们没有版本,我们所有的客户都有相同的代码库(尽管这在未来可能会改变)。
任何帮助将不胜感激。
最佳答案
您的场景看起来很像您需要使用重新集成选项进行合并。 根据您的屏幕截图,您正在尝试合并一组修订而不是整棵树。 TortoiseSVN 文档说:
If the feature is going to take longer and you need to account for changes in trunk, then you need to keep the branch synchronised. This simply means that periodically you merge trunk changes into the branch, so that the branch contains all the trunk changes plus the new feature. The synchronisation process uses Merge a range of revisions. When the feature is complete then you can merge it back to trunk using either Reintegrate a branch or Merge two different trees. https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-merge.html
关于SVN合并branch to trunk导致文件冲突已解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22687697/