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

时间:2013-08-26 12:53:15

标签: svn tortoisesvn branching-and-merging

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

在选择合并然​​后选择下一个选项: Merge first step

然后我进入下一个窗口: enter image description here

或者我做错了什么?

3 个答案:

答案 0 :(得分:70)

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

请参阅:Subversion 1.8 release notes,具体为the auto-reintegrate section

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

  

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

     

在合并期间合并来自另一个分支的所有符合条件的修订,   Subversion 1.8将自动决定合并是否   重新整合一个分支。因此,重新整合分支不会   更长时间需要--reintegrate选项才能正确操作。

     

现在不推荐使用svn merge的--reintegrate选项并使用它   泄气。要重新整合分支,请拥有干净的工作副本   trunk并在其顶级目录中运行以下命令:

$ svn merge ^/branches/my-branch
     

此合并仍将执行与svn合并相似的健全性检查    - 在早期版本中执行的重新整合:

     
      
  • 工作副本不得为混合修订工作副本。
  •   
  • 工作副本不得切换子树。
  •   
  • 从重新整合目标(例如后备箱)合并到重新整合源的修订范围中必须没有间隙
      (即要重新整合的分支机构)。
  •   
     

如果检测到任何这些条件,则合并将中止并且   在分支可以之前必须采取必要的步骤来解决问题   重新融入社会。与--reintegrate合并相比,自动化   重新整合合并到一个工作副本与本地修改是   允许的。

     

可以使用任何顺序在两个分支之间进行合并   自动重新融合合并(不再是“保持活力的舞蹈”)   必要)。为获得最佳效果,建议始终合并所有结果   符合条件的修订,即不使用svn merge的-r或-c选项。   仅合并一部分符合条件的修订会增加可能性   未来合并期间的问题。

     

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

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

  1. 确保您正常使用干净,无需修改,最新的行李箱工作副本
  2. TortoiseSVN - >合并此工作副本
  3. 选择“合并一系列修订”
  4. 选择您要重新整合的分支
  5. 不指定修订范围(合并所有符合条件的修订)
  6. Subversion 1.8应自动检测重新集成并执行相同的安全检查
  7. 通常继续进行合并
  8. 根据兼容性表,只要您的Subversion服务器和存储库格式均为1.5或更高版本,Subversion 1.8客户端就可以执行此自动重新集成。

    我自己还没有做过自动重新集成,我只是要发布发行说明。

答案 1 :(得分:40)

将分支合并到任何TARGET

修改

好的,扩展答案:照片中的“合并傻瓜”

<强>前言

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

在此示例资源中使用:

Repo Graph

  • 本地目录z:\WC-Trunk(主干的WC,在过程中使用)
  • TortoiseSVN 1.8.1,Build 24570 - 32 Bit

重现的步骤

为了合并分支到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

需要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
...

开始合并

Start

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

Merge type

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

Merge Options

定义(如果需要)一些额外的合并选项,可以测试合并以便检测,将以任何形式进行冲突解决,或者直接启动真正的合并过程

Options 2

答案 2 :(得分:14)

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

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