如何使用TortoiseSVN将从主干到分支的更改合并?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (45)

使用Trunk更改更新分支

从分支的工作目录运行:

svn合并http://svn.myurl.com/proj/trunk

将分支合并到主干中

从主干的工作目录运行:

svn merge --reintegrate http://svn.myurl.com/proj/branches/mybranch

但是,我们使用TortoiseSVN 1.5作为Subversion的接口。我想知道如何用TortoiseSVN执行这些操作。新的对话框在主菜单上提供了三个不同的选项。

  1. 合并一系列修订
  2. 重新整合分支
  3. 合并两棵不同的树

从我可以收集的内容来看,TortoiseSVN总是使用以下语法执行svn。

svn merge [--dry-run] --force From_URL @ revN To_URL @ revM PATH

此外,重新集成分支常常失败,并显示一些消息,指出某些目标尚未合并,因此无法继续,因此必须使用选项#3。

我的问题是:

  1. 我如何使用TortoiseSVN 1.5将主干上的更改合并到分支中?
  2. 如何使用TortoiseSVN 1.5将分支合并到主干中,使用和不使用重新合并方法?
  3. 我应该为每个选项使用以上哪个选项,为什么?
提问于
用户回答回答于

行为取决于你的存储库的版本。Subversion 1.5允许4种类型的合并:

  1. 合并sourceURL1 [@N] sourceURL2 [@M] [WCPATH]
  2. 合并sourceWCPATH1 @ N sourceWCPATH2 @ M [WCPATH]
  3. 合并[-c M [,N ...] | -r N:M ...]来源[@REV] [WCPATH]
  4. 合并 - 重新整合SOURCE [@REV] [WCPATH]

1.5之前的Subversion只允许前两种格式。

从技术上讲,你可以使用前两种方法执行所有合并,但最后两个启用Subversion 1.5的合并跟踪。

TortoiseSVN的选项在版本库为1.5+时将方法3或修订版图合并到方法3中,或者在资源库较旧时将方法一合并到方法一中。

将功能合并到发布/维护分支时,应使用“合并修订版本”命令。

只有当你想把一个分支的所有特征合并回一个父分支(通常是主干)时,你应该使用“重新分支分支”来进行研究。

最后一个命令 - 合并两个不同的树 - 只有当你想要超出正常的分支行为时才是有用的。(比如比较不同的版本,然后将差异合并到另一个分支)

用户回答回答于

将主干合并到分支/标记中

  1. 合并修订范围:选择复制到分支/标记的主干目录的URL

我只是把这些作为默认的单击“合并”

扫码关注云+社区