【问题标题】:Subversion > Merging back into a trunk without --reintegrate?颠覆 > 在没有 --reintegrate 的情况下合并回主干?
【发布时间】:2011-03-11 00:53:46
【问题描述】:

这是一个愚蠢的问题,但它已经在工作中出现,我想问一下以获得第二意见。您可以假设我们使用的是 Subversion 1.6+。

这是一个场景 - 假设我有一个 Trunk。我在修订版 10 处对 Trunk 进行分支以创建 Branch1,并开始对 Branch1 进行自己的更改。

同时,Branch2 是从修订版 30 的主干创建的。在 Branch2 中进行了(提交)多个修订。

在某个时候,Branch2 中的工作已经完成,其更改将合并回 Trunk,而无需使用 --reintegrate。

我仍然很高兴在 Branch1 中工作,但我现在想确保我拥有来自主干的所有最新更改以及在合并回主干(即 Branch2)的其他分支中所做的任何代码更改。

问题的关键 - 如果我将主干合并到 Branch1,我会看到所有从其他分支(如 Branch2)合并回主干的更改吗?我是否必须单独合并 Branch2 URL 中的修订,然后合并到 Trunk URL 以保证我拥有所有更改?

【问题讨论】:

    标签: svn


    【解决方案1】:

    如果我理解您的示例,您获得合并到主干中的更改,即使它们是在不使用 --reintegrate 的情况下合并的。

    不使用--reintegrate 的问题在于,如果您通过定期从主干合并到 Project3 来使 Project3 保持最新,那么当您重新合并到主干时,您最终会遇到很多冲突。这是因为当它们已经在主干中时,它会尝试进行这些定期合并,并将它们重新应用到主干。

    但是你如何进行合并并不重要,只要它现在在主干中。

    顺便说一句,您的示例有点令人困惑。一方面,您会说“将 Project2 主干的 HEAD 合并”。合并有方向;你应该说你“将主干合并到 Project2”。此外,通常“项目”一词是指具有主干和分支的东西,但在您的示例中,主干似乎与分支位于不同的项目中。

    【讨论】:

    • 感谢您的回答!如果我将 Project2 和 Project3 称为“发布分支”会更清楚吗?
    • 我认为如果你说“trunk”、“branch1”和“branch2”会更清楚,假设它们都是同一个项目的不同分支。
    • 你的第二段是迄今为止我发现的对--reintegrate 最简单的解释。我现在很清楚为什么以及何时使用它。 +1
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    • 2013-08-18
    • 1970-01-01
    • 2013-02-05
    相关资源
    最近更新 更多