65

在 tortoiseSvn 1.8 中没有“重新集成”分支选项。在 Tortoise Svn 1.8 中重新集成分支的正确方法是什么?

在选择合并,然后选择下一个选项: 合并第一步

然后我得到下一个窗口: 在此处输入图像描述

还是我做错了什么?

4

3 回答 3

73

它不再在 TortoiseSVN 中,因为 Subversion 1.8 弃用了 --reintegrate 选项。Subversion 1.8 具有自动重新集成处理/检测功能。

请参阅:Subversion 1.8 发行说明,特别是 auto-reintegrate 部分

为方便起见,这里是相关区域:

自动重新集成合并(不推荐使用--reintegrate 选项)

在合并来自另一个分支的所有合格修订的合并期间,Subversion 1.8 将自动决定合并是否重新集成一个分支。因此,重新集成分支不再需要 --reintegrate 选项才能正确操作。

svn merge 的 --reintegrate 选项现已弃用,不鼓励使用。要重新集成分支,请拥有一个干净的主干工作副本,并在其顶级目录中运行以下命令:

$ svn merge ^/branches/my-branch

此合并仍将执行与 svn merge --reintegrate 在早期版本中执行的类似的健全性检查:

  • 工作副本不得是混合修订的工作副本。
  • 工作副本必须没有切换子树。

  • 从重新集成目标(例如主干)到重新集成源(即要重新集成的分支)合并的修订范围必须没有间隙。

如果检测到这些条件中的任何一个,则合并将中止,并且必须采取必要的步骤来解决问题,然后才能重新集成分支。与 --reintegrate 合并相比,允许自动重新集成合并到具有本地修改的工作副本中。

使用自动重新集成合并可以以任何顺序在两个分支之间来回合并(不再需要“keep-alive dance”)。为获得最佳结果,建议始终合并所有符合条件的修订,即不使用 svn merge 的 -r 或 -c 选项。仅合并符合条件的修订的子集会增加未来合并期间出现问题的可能性。

在 Subversion 1.8 中使用 --reintegrate 将强制重新集成合并,无论这是否是在给定情况下执行的正确合并。

在您的情况下,您应该执行以下操作

  1. 确保您像往常一样使用干净、未修改、最新的主干工作副本
  2. TortoiseSVN -> 在这个工作副本根目录上合并
  3. 选择“合并一系列修订”
  4. 选择您要重新整合的分支
  5. 不指定修订范围(合并所有符合条件的修订)
  6. Subversion 1.8 应该自动检测重新集成并执行相同的安全检查
  7. 正常进行合并

根据兼容性表,只要您的 Subversion 服务器和存储库格式均为 1.5 或更高版本,Subversion 1.8 客户端就可以执行此自动重新集成。

我自己还没有完成自动重新集成,我只是离开了发行说明。

于 2013-08-26T21:29:37.350 回答
41

只需将分支合并到任何目标

编辑

好的,扩展答案:图片中的“Merge for Dummies”

前言

好的,我不会掩盖或隐藏用过的试验场。

在此示例资源中使用:

回购图

  • 本地目录z:\WC-Trunk(主干的WC,进程中使用)
  • TortoiseSVN 1.8.1,内部版本 24570 - 32 位

重现步骤

为了将分支合并到主干,我必须拥有主干的工作副本,因此 - 主干的 HEAD 已签出到 WC-Trunk

z:\WC-Trunk>svn ls
Dr?p?r.ma?ar.sv?nskan.man.eller.smalensk?n.txt
Hello.de.txt
Hello.en.txt
Hello.eo.txt
Hello.fr.txt

需要厕所

z:\WC-Trunk>svn info
Path: .
Working Copy Root Path: Z:\WC-Trunk
URL: http://mayorat.ursinecorner.ru:8088/svn/Hello/trunk
Relative URL: ^/trunk
...

开始合并

开始

选择“合并范围”,因为“此方法涵盖了对分支(或主干)进行了一个或多个修订并且希望将这些更改移植到不同分支的情况”

合并类型

选择所有修订,如果没有定义,以及存储库中树的路径,必须合并到主干(我们的法语分支)

合并选项

定义(如果需要)一些额外的合并选项,可以测试合并以检测,是否需要以任何形式解决冲突,或者最后才开始真正的合并过程

选项 2

于 2013-08-26T13:22:15.813 回答
14

打开上下文菜单时按住Shift键,您将看到隐藏的选项。菜单中有TortoiseSVN/ Merge reintegrate...

但是你应该使用新的Automatic reintegration merge

于 2014-01-23T08:14:09.257 回答