在多个分支和主干中合并特定更改的最佳方法是什么?

时间:2010-11-24 07:09:55

标签: eclipse svn merge branch

我使用SVN / CVS很长一段时间,就像我存储代码的地方一样。但现在我来到了一个需要“最好的办法”的地步。

我们有几个分支机构 例如:

  • Release1(已发货),
  • Release2(未完成,包含新功能),
  • Fix1(包含Release1的错误修复程序,将在客户测试后发货),
  • Fix2/trunktrunk是我们当前的开发状态Fix2)。

现在我们遇到了问题。

我不能说Release 2Fix1之前是否已发送Fix2而我现在HotfixRelease1。只是几个文件,但它很紧急。

现在什么是获得所有分支机构变更的最佳方式? 自动合并还将合并特定于分支的差异。是手动合并的最好方法吗? 必须有这样的方式:我使用ID“abc”标记我的更改,并说明仅在所有分支中合并abc的更改。

顺便说一下。我正在使用Eclipse和Subversive。也许在eclipse之外的工具会更好!?

1 个答案:

答案 0 :(得分:0)

我使用Eclipse的Subclipse插件。您也可以使用svn命令行执行此操作。如果您的修补程序被隔离到单个修订版号,那么您可以仅将该修订版合并到主干(或任何其他分支)。

  • branch1(修订版103)-hotfix
  • trunk(修订版100)

使用Subclipse,您可以右键单击该文件,然后选择“Team” - >“Merge”。选择“合并修订范围”或“合并两个不同的树”选项,然后提供源网址和修订以合并到目标树。

从命令行...鉴于您当前的工作目录是主干:

svn merge -r 103:103 http://svn/branches/branch1

您可能无法合并到多个分支,这可能更好,因为您需要小心合并过程。