2014-03-27 60 views
3

我一直在研究这个开关数周,所以如果已经得到回答,我很抱歉。SVN合并分支到主干导致已解决的文件发生冲突

我的主要问题是执行连续合并后合并。

我有我的/trunk,我从中创建了我的分支。然后开发人员继续在该分支内开发。

在此过程中,团队的其他成员继续在/trunk之内进行小错误修复。分支机构每天都会更新来自干线的更新。我们到了项目的最后,现在是时候合并回干线。这是问题发生的地方。

在这个特殊的例子中,很多旧的,duff文件被从/trunk中删除。这与成功合并。所以干线和分支都删除了这些文件。

我去使用TortoiseSVN以下设置合并到/trunk

Imgur Link

与测试合并运行,突然删除创建的冲突棚负载。用传入删除进行删除。这也会发生在已添加的任何新文件,添加了传入添加的文件中。

我的问题是我该如何解决这个问题? SVN是否意味着自动计算出来?我可以继续并手动选择所有不是从主干合并的修订版,但这看起来不对。

我在TortoiseSVN 1.8.4和Subversion Edge 4.0.4(Subversion 1.8.5)上运行。

我们SVN结构一般如下:

\---svn 
    +---branches 
    | +---featureone 
    | \---featuretwo 
    +---production 
    \---trunk 

我们没有版本,我们所有的客户都具有相同的代码库(尽管这可能在未来改变)。

任何帮助将不胜感激。

+0

从树干做合并时分支我有类似的问题,然后从分支合成合并到主干。我的解决方案是只强制合并一种方式,这与SVN保持每日同步特性分支的最佳做法相反,然后与trunk重新集成。保持这个问题是最喜欢看到答案 – Slav

+0

快速更新。我设法通过使用CollabNet的Eclipse SVN插件来解决这个问题。在合并到主干时,我只需选择“所有合格修订”,SVN会自动计算出哪些修订需要合并,而不会与之前的主干提交混淆。问题解决了...... ish。 – chandler3224

回答

1

您的场景看起来很像您需要使用重新合并选项进行合并。 根据你的截图,你试图合并一组修订版本,而不是整棵树。 TortoiseSVN的文件说:

如果功能将需要更长的时间,你需要考虑在行李箱的变化,那么你需要保持同步的分支。这只是意味着您需要定期将树干更改合并到分支中,以便分支包含所有树干更改以及新功能。同步过程使用合并一系列修订。 当功能完成后,您可以使用重新合并分支或合并两个不同的树来将其合并回主干。 https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-merge.html