我使用SVN / CVS很长一段时间,就像我存储代码的地方一样。但现在我来到了一个需要“最好的办法”的地步。
我们有几个分支机构 例如:
Release1
(已发货),Release2
(未完成,包含新功能),Fix1
(包含Release1
的错误修复程序,将在客户测试后发货),Fix2/trunk
(trunk
是我们当前的开发状态Fix2
)。 现在我们遇到了问题。
我不能说Release 2
或Fix1
之前是否已发送Fix2
而我现在Hotfix
已Release1
。只是几个文件,但它很紧急。
现在什么是获得所有分支机构变更的最佳方式?
自动合并还将合并特定于分支的差异。是手动合并的最好方法吗?
必须有这样的方式:我使用ID“abc
”标记我的更改,并说明仅在所有分支中合并abc
的更改。
顺便说一下。我正在使用Eclipse和Subversive。也许在eclipse之外的工具会更好!?
答案 0 :(得分:0)
我使用Eclipse的Subclipse插件。您也可以使用svn命令行执行此操作。如果您的修补程序被隔离到单个修订版号,那么您可以仅将该修订版合并到主干(或任何其他分支)。
使用Subclipse,您可以右键单击该文件,然后选择“Team” - >“Merge”。选择“合并修订范围”或“合并两个不同的树”选项,然后提供源网址和修订以合并到目标树。
从命令行...鉴于您当前的工作目录是主干:
svn merge -r 103:103 http://svn/branches/branch1
您可能无法合并到多个分支,这可能更好,因为您需要小心合并过程。