SVN - 自动合并主干分支到分支

10
我在SVN中有一个分支,我希望将其与主干的更改保持同步。我想做的是编写一个脚本或其他东西,每晚运行一次,进行此合并,如果没有合并冲突,则提交分支的新版本,但如果有合并冲突,则以某种方式指示。我找到了这篇post文章,它有所帮助,尽管不能完成所有操作。
我一直无法找到一种方法来确定是否存在合并冲突,这基本上是我正在寻找的。在脚本中添加构建代码,然后在成功时进行提交将很容易,但如果没有一种检查合并冲突的方法,这将不成功。
感谢你们能提供任何帮助!
2个回答

10

我曾经遇到过你完全一样的问题,但我没有尝试自动合并,因为分支不多,所以我手动合并了。

无论如何,最好的选择似乎是使用脚本。你帖子中链接的脚本不仅执行最后必要的操作:提交

我经常使用Linux,所以如果我是你,我会使用像下面这样的shell脚本:

cd /path/to/branch
svn update #just to be sure...
svn merge --non-interactive svn://path/to/trunk
svn commit -m "Automated commit"

在批处理脚本中,可以使用与SVN for Windows类似的命令。


这可能是一个可行的解决方案,因为如果存在冲突,则提交应该失败。经过思考后,如果在提交之前尝试编译,那么如果存在合并冲突,它应该会失败。然后我可以从Cruise Control生成一个失败消息。感谢您的帮助! - BryceH
实际上,如果存在未解决的合并冲突,您将无法提交,因此提交一定会失败。不过,您可以尝试使用svn merge的返回值或通过另一个我不知道的命令检查冲突。无论如何,我忘记在合并时添加--non-interactive标志,因为它会提示您在冲突情况下该怎么做。 - usr-local-ΕΨΗΕΛΩΝ

0

看一下MergeFairy。它会不断地合并并通过电子邮件发送有关如何恢复的指示。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接