Tortoisesvn Subversion 1.8 - 合并 - 不再重新整合分支选项

Jer*_*vak 65 svn tortoisesvn branching-and-merging

在tortoiseSvn 1.8中,没有"重新整合"分支选项.在Tortoise Svn 1.8中重新整合分支的正确方法是什么?

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

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

或者我做错了什么?

Jos*_*non 73

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

请参阅:Subversion 1.8发行说明,特别是自动重新整合部分

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

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

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

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

$ svn merge ^/branches/my-branch
Run Code Online (Sandbox Code Playgroud)

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

  • 工作副本不得为混合修订工作副本.
  • 工作副本不得切换子树.
  • 从重新集成目标(例如主干)到重新集成源
    (即要重新集成的分支)合并的修订范围必须没有间隙.

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

使用自动重新整合合并可以以任何顺序在两个分支之间来回合并(不再需要"保持活力的舞蹈").为获得最佳结果,建议始终合并所有符合条件的修订,即不使用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客户端就可以执行此自动重新集成.

我还没有完成自动重新集成,我只是发布了发行说明.

  • 这个答案更好,因为"不指定修订范围(合并所有符合条件的修订版)" (2认同)

Laz*_*ger 40

只需将分支合并到任何TARGET

编辑

好的,扩展答案:图片中的"合并傻瓜"

前言

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

在此示例资源中使用:

回购图

  • 本地目录z:\WC-Trunk(中继的WC,在进程中使用)
  • TortoiseSVN 1.8.1,Build 24570 - 32位

重现步骤

为了合并分支到trunk,我必须有trunk的工作副本,因此 - trunk的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
Run Code Online (Sandbox Code Playgroud)

它需要WC

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
...
Run Code Online (Sandbox Code Playgroud)

开始合并

开始

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

合并类型

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

合并选项

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

选项2

  • 在本教程结束时,您可以将分支中的所有更改合并到您的trunk的工作副本中,对吗?什么是完全摆脱分支的正常步骤?提交trunk并删除分支?我做了提交并看了一下_Revision graph_.在创建时,从主干到分支有一条分支曲线.但是,没有迹象表明重返社会.这是否意味着我的合并未被检测为重新整合? (3认同)

Kry*_*gaj 14

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

但是你应该使用new Automatic reintegration merge

  • 谢谢,不知道`Shift`选项!无论如何,在`TortoiseSVN 1.9.2`中,再也没有"合并重新融合......". (4认同)