【问题标题】:svn error on merge where one branch must be ancestrally related to the other合并时的 svn 错误,其中一个分支必须与另一个分支祖先相关
【发布时间】:2015-10-31 08:10:09
【问题描述】:

我有两个分支都是从主干创建的。

对于分支 2.1,此分支是从主干复制的

对于分支 2.2:

  • 首先创建并添加了一个分支文件夹 V2.2。
  • 在 V2.2/code 中执行了第二个表单主干副本。所以实际上实际的分支是文件夹“code”。
  • 随后,“代码”被 svn 移回根文件夹 V2.2。最终效果是,此时,两个分支(V2.1 和 V2.2)看起来相同。

这是问题所在,当我们将分支 V2.1 合并到分支 V2.2 时,我们会收到以下消息: https://svn.mycorp.com/svn/star/branches/V2.1@49058 必须与 https://svn.mycorp.com/svn/star/branches/V2.2@49040 祖传相关

知道如何将这段代码合并回来吗?我尝试在 V2.2 分支下创建一个“代码”文件夹,并且 SVN 将所有代码移回,但是当我尝试将 V2.1 合并到 V2.2/code 文件夹时结果相同。

任何帮助将不胜感激

【问题讨论】:

    标签: svn merge


    【解决方案1】:

    尝试将--ignore-ancestry 选项改为svn merge

    此选项会忽略合并信息和历史记录,因此您需要手动选择要合并的修订。 SVN 不会自动计算出哪些更改要合并。

    【讨论】:

    • 我确实尝试过,但它出现了一条错误消息,指出发生了合并冲突,我需要解决然后重新启动合并。我在 tortiseSVN 合并对话框中没有看到任何选项可以让我解决冲突,以便我可以重新启动。执行 SVN 合并并忽略祖先与使用无法比较的收费的文件系统合并有什么好处。 SVN 合并和忽略祖先是否会在那时自动执行任何合并,因此使用此选项有明显的好处?
    • 嗯...双击冲突?还是“树冲突”?我仍然不知道如何可靠地解决这些问题。您可能需要单独合并每个子目录,因为这听起来像是您拼凑了“分支”而不是通过复制顶级目录来创建真正的分支。
    • 当我尝试忽略祖先时,tortiseSVN 会生成一个对话框,上面写着:“忽略合并信息时无法自动合并”我该如何解决这个问题?
    • @user2457075 您必须手动输入要合并的修订。自动不是“忽略祖先”的选项。
    猜你喜欢
    • 1970-01-01
    • 2021-12-29
    • 2014-06-18
    • 1970-01-01
    • 1970-01-01
    • 2018-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多