1

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

  1. 有后备箱。我创建一个分支
  2. 我在分支工作。做出改变。
  3. 与此同时,主干发生了变化,所以我cd branch; svn merge $SVNTRUNK每隔一段时间就在我的分支中做一次。
  4. 最后,我愿意cd trunk; svn merge --reintegrate $SVNBRANCH。所有这一切我只是按照 SVN 书做的。

现在在我的分支上做某事的正确方法是什么?我应该删除我的分支,然后从主干创建一个新分支吗?如果我这样做,cd trunk; svn merge $SVNTRUNK我会收到一大堆“本地添加,合并时传入的添加”消息......

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

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

4

2 回答 2

4

好吧,该手册非常明确

一旦从分支到主干完成了 --reintegrate 合并,该分支就不再可用于进一步的工作。它无法正确吸收新的主干更改,也无法再次正确重新集成到主干。出于这个原因,如果您想继续处理您的功能分支,我们建议您将其销毁,然后从主干重新创建它。

简而言之:销毁你的分支,创建一个新分支(不要害怕经常创建新分支,这在服务器端是一件非常轻量级的事情)。

于 2013-09-17T16:13:49.310 回答
1

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

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

这是这种方法的描述: http: //svnbook.red-bean.com/en/1.7/svn-book.html#svn.branchmerge.advanced.reintegratetwice

于 2013-09-17T17:04:07.433 回答