时间:2011-01-06 19:34:36

标签: svn testing build merge

3 个答案:

答案 0 :(得分:5)

只要您确定新的主干修订版<somerev>已通过测试,就会在通过的测试工作副本的根目录下运行这些命令:

svn update
svn merge http://example.com/svn/myproject/trunk -r 0:<somerev>
svn commit -m "merged trunk revisions up to <somerev> into tests-passed"

每当您使用merge命令时,SVN都会在svn:mergeinfo属性中记录合并。因此,上述命令应自动确定0:<somerev>范围内的哪些修订符合合并条件,不包括已完成的任何合并。

正如你在评论中所说的,预计不会发生冲突。但有时我看到在合并包含重命名的一系列SVN修订版时,无论如何都会发生意外冲突。要消除这些冲突,可以使用--accept theirs-full选项和merge命令始终接受中继状态。

答案 1 :(得分:1)

您可以使用持续集成工具。一个非常受欢迎:哈德森

http://hudson-ci.org/

你可以在那里编写那种行为的脚本。

答案 2 :(得分:0)