Subversion合并信息,有多重要?

时间:2012-03-23 07:27:37

标签: svn svn-merge

我对如何使用Subversion中的合并信息有点好奇,如果合并信息不正确,会遇到什么样的问题?

例如,我从branch1分支branch2trunk。我还有来自subbranch1的{​​{1}}和subbranch2。考虑我在branch1中完成了一些开发,然后使用branch2将其重新集成回主干。然后我想将这些更改添加到svn merge --reintegrate ^/branch2(从subbranch1拉出)并错误地使用命令trunk(因此在这里将svn merge --reintegrate ^/trunk标志添加到merge命令即使--reintegrate不是subbranch1)的直接祖先,也是如此。

将来会出现什么问题?

2 个答案:

答案 0 :(得分:3)

合并信息会跟踪此信息:

  • 分支之间的关系(subbranch1来自branch1,源自trunk等)
  • 哪些修订已合并

如果合并信息丢失或不正确,则必须手动跟踪合并,这可能容易出错。通过使用合并信息,您只需让Subversion跟踪所有这些信息。

答案 1 :(得分:2)

此答案已弃用。请使用Subversion> = 1.6。


你的分支方法一般是危险的,但由于这次事故,情况更糟。

重新注意所有分支时会遇到很多问题。

  • branch2所做的更改可能看起来像是对subversion的删除。
  • 您所做的删除可能看起来像是对subversion的补充。
  • 三向比较可能会给你带来奇怪的结果(例如,将相同的代码两次放入文件中)

你不能再相信三方比较,你必须手动检查每一个更改!

有关详细信息,请参阅What mother never told you about svn branching and merging

P.S。我曾经不得不修这样的东西。从那以后我们使用bunny hopping(见链接)。