【问题标题】:SVN merging branch to trunk causes conflicts on files that have been resolvedSVN合并分支到主干导致已解决的文件冲突
【发布时间】:2014-03-27 12:29:12
【问题描述】:

我已经断断续续地研究了好几个星期,所以如果这个问题已经得到解答,我深表歉意。

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

我有我的/trunk,我从中创建了我的分支/branches/featureone。然后开发人员继续在所述分支内进行开发。

在此开发过程中,团队的其他成员继续在 /trunk 中进行小错误修复。分支每天都会根据主干的更改进行更新。我们到了项目的结尾,现在是时候合并回主干了。这就是问题发生的地方。

在这个特定的例子中,很多旧的、无用的文件从/trunk 中删除。这与/branches/featureone 成功合并。所以主干和分支都删除了这些文件。

我使用 TortoiseSVN 将 /branches/featureone 合并到 /trunk 中,设置如下:

Imgur Link

使用测试合并运行时,突然删除产生了大量冲突。使用传入删除删除。这也发生在任何已添加的新文件中,文件添加和传入添加。

我的问题是如何解决这个问题? SVN 不是要自动解决这个问题吗?我可以继续并手动选择所有不是来自主干合并的修订,但这似乎是错误的。

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

我们的SVN结构一般如下:

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

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

任何帮助将不胜感激。

【问题讨论】:

  • 我在从主干合并到分支然后从分支合并到主干时遇到了类似的问题。我的解决方案是只执行一种合并方式,这与 SVN 保持功能分支每天同步,然后与主干重新集成的最佳实践相反。保留这个问题最喜欢看到答案
  • 快速更新。我通过使用 CollabNet 的 Eclipse SVN 插件设法解决了这个问题。当合并回主干时,我只需选择“所有符合条件的修订”,SVN 会自动确定需要合并哪些修订,而不会与之前的主干提交混淆。问题解决了……不错。

标签: svn version-control merge continuous subversion-edge


【解决方案1】:

您的场景看起来很像您需要使用 reintegrate 选项进行合并。 根据您的屏幕截图,您正在尝试合并一组修订而不是整个树。 TortoiseSVN 文档说:

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

【讨论】:

    猜你喜欢
    • 2012-08-28
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 2010-11-03
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    相关资源
    最近更新 更多