Rya*_*lor 130 svn tortoisesvn merge branch
我一直在阅读Subversion 1.5的分支/合并,使用优秀的免费版本控制和Subversion一书.我想我了解如何使用Subversion命令行客户端来执行我最常需要的操作,它们是:
使用Trunk中的更改更新分支
从分支的工作目录运行:
svn merge http://svn.myurl.com/proj/trunk
将分支合并到主干
从trunk的工作目录运行:
svn merge --reintegrate http://svn.myurl.com/proj/branches/mybranch
但是,我们使用TortoiseSVN 1.5作为Subversion的接口.我想知道如何最好地使用TortoiseSVN执行这些操作.新对话框在主菜单上提供三个不同的选项.
根据我的收集,TortoiseSVN总是使用以下语法执行svn.
svn merge [--dry-run] --force From_URL @ revN To_URL @ revM PATH
此外,重新集成分支通常会失败并显示一条消息,指出某些目标尚未合并,因此无法继续,因此我不得不使用选项#3.
我的问题是:
编辑
通过"干运行"测试我发现命令行是Subversion操作
svn merge http://svn.myurl.com/proj/trunk
类似于TortoiseSVN中的选项#1(合并一系列修订版),只要我将修订范围留空.
icc*_*c97 246
我无法正确地遵循其他答案,这里有更多的假人指南......
你可以做到这一点的方式轮去trunk -> branch
或branch -> trunk
.我总是首先trunk -> branch
修复那里的任何冲突,然后合并branch -> trunk
.
Ber*_*ben 28
行为取决于您的存储库具有哪个版本.Subversion 1.5允许4种类型的合并:
1.5之前的Subversion只允许前2种格式.
从技术上讲,您可以使用前两种方法执行所有合并,但最后两种方法可以启用subversion 1.5的合并跟踪.
当存储库为1.5+时,TortoiseSVN的选项将范围或修订映射合并到方法3,或者当存储库较旧时,将映射合并到方法1.
将功能合并到发布/维护分支时,应使用"合并一系列修订"命令.
只有当您想要将分支的所有功能合并回父分支(通常是主干)时,您才应该使用"重新整合分支".
最后一个命令--Merge两个不同的树 - 仅在您想要超出正常的分支行为时才有用.(例如,比较不同的版本,然后将差异合并到另一个分支)