Subversion Merge - 可能忽略合并历史记录?

时间:2011-07-28 15:06:18

标签: svn tortoisesvn

我的基本问题是我正在尝试重新合并Subversion 1.6中的trunk和分支,忽略之前的任何合并历史记录。我的方案如下:

  1. 我在主干中有一个项目。
  2. 我在 branches / branch-A
  3. 创建了一个分支
  4. 继续主干分支-A
  5. 由于 branch-A 是一个非常大的变化,我使用TortoiseSVN“合并一系列修订”从主干到<每周左右强>分支-A 。有冲突,我在发生时手动解决了这些冲突。
  6. 此时, branch-A 应该包含trunk中的所有内容以及新功能。这主要是有效的,但我发现一个问题在主干中有效,在 branch-A 中无效。这让我觉得我错误地解决了早期合并中的冲突。

    我想做一个忽略我以前的合并历史记录的合并,只做一个直接主干 branch-A 差异。当我现在尝试任何合并时,它会考虑合并历史记录,并且不会向我显示我之前解决的冲突的任何差异。 这是否可以忽略所有先前的合并历史记录,只是获得分支-A-vs.-trunk差异合并?我错了吗?

    注意:

    • 我试图“合并一系列修订”和“忽略祖先”但没有成功。
    • 我不关心跟踪分支机构的修订。当它重新集成时,我打算将它作为新功能的一个大合并修订版。
    • 我现在正试图“重新整合”而不是“合并修订”,但这需要一段时间才能运行,所以我不确定这是否是神奇的子弹。

    更新:共识似乎是“合并修订”和“忽略祖先”选项应该给我我所要求的。我再次运行合并,我得到了一个无意义的树冲突,没有别的,所以我将假设我陷入了一个边缘情况,合并没有做它应该有的东西。我知道错误应该在哪里,所以我最终只是使用DiffMerge将整个主干与分支区分开来,然后手动查找并修复错误。不干净但有效。

1 个答案:

答案 0 :(得分:1)

您可以使用

--ignore-ancestry

标志“导致合并逻辑无意识地以与svn diff相同的方式生成差异,忽略任何历史关系”。来自http://svnbook.red-bean.com/en/1.5/svn.branchmerge.advanced.html