从分支到主干重新集成,然后合并回SVN中的分支..会发生什么?

时间:2013-09-17 16:02:22

标签: svn merge

执行以下操作的适当方法是什么 -

  1. 有躯干。我创建了一个分支
  2. 我在分公司工作。做出改变。
  3. 与此同时,trunk已经改变,所以我每隔一段时间就在我的分支中继续cd branch; svn merge $SVNTRUNK
  4. 最后,我做cd trunk; svn merge --reintegrate $SVNBRANCH。所有这些我只是遵循SVN书。
  5. 现在在我的分支上做某事的正确方法是什么?我应该删除我的分支,并从主干创建一个新的分支?如果我做cd trunk; svn merge $SVNTRUNK我得到了一大堆“本地添加,传入合并添加”消息......

    那是什么?我该如何解决这个问题?

    我假设SVN会干净地意识到所有那些列为“本地添加,合并后的传入添加”的文件与我在分支中已有的文件相同......但显然不是。

2 个答案:

答案 0 :(得分:4)

好吧,the manual is quite explicit

  

一旦从分支到主干完成了--reintegrate合并,分支就不再可用于进一步的工作。它无法正确吸收新的行李箱更换,也无法再次正确地重新集成到行李箱。因此,如果您想继续使用功能分支,我们建议您销毁它,然后从主干中重新创建它。

简而言之:破坏你的分支,创建一个新分支(不要害怕经常创建新的分支,它在服务器端是一个非常轻量级的东西)。

答案 1 :(得分:1)

通常我会建议使用一个专注于单个功能/任务/更改的短期分支,这需要多次提交。在这种情况下,重新集成后的正确操作是删除分支。

如果出于某些原因,您希望使用具有更长生命周期的分支,则在重新集成后,将该单个重新集成修订版合并到具有“仅记录”选项的分支。

以下是此方法的说明:http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.branchmerge.advanced.reintegratetwice