2013-08-26 50 views

回答

37

只是合并分支到任何目标

编辑

OK,扩展答案: “合并傻瓜”,在图片

前言

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

用在这个样本资源:

Repo Graph

  • 本地目录z:\WC-Trunk(躯干的WC,在过程中使用)
  • TortoiseSVN的1.8。1,建立24570条 - 32位

步骤来重现

为了合并分支到主干,我必须有主干的工作拷贝,从而 - 干线的HEAD checkouted到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

选择所有的版本,否则没有定义和路径树库,其中有要合并到主干(我们的法国分支)

Merge Options

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

Options 2

+0

我有3个分支来设置。当我选择“合并两棵不同的树”时,从,到和工作副本 –

+0

@JernejNovak - 不要使用2-URL合并,直到它真的需要** –

+0

请看我的编辑问题。 –

67
开始 真正的合并过程合并

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

见:Subversion 1.8 release notes,具体the auto-reintegrate section

下面是相关区域,为了方便:

自动再合并(--reintegrate选项不建议使用)

其间合并所有合并 Subversion 1.8会自动决定合并是否为 rein组织分支。因此,重新集成分支没有 需要更长的--reintegrate选项才能正确操作。

svn merge的--reintegrate选项现在已被弃用,其使用是不鼓励 。为了复兴分支,具有 躯干的清洁工作拷贝,并在其顶层目录中运行以下命令:

$ svn merge ^/branches/my-branch 

该合并将仍然执行类似的完整性检查其svn的合并 --reintegrate在早期进行发布:

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

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

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

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

在你的情况,你应该做到以下几点

  1. 确保您使用的是干净的,没有任何修饰,跟上时代的主干的工作拷贝,你通常会
  2. TortoiseSVN的 - >合并的工作拷贝根
  3. 选择“合并一个版本范围的”
  4. 选择要重返
  5. 分支3210
  6. 不要指定版本范围(合并所有符合条件的修订版)
  7. 颠覆1.8应该自动检测重返社会,并与您的合并执行相同的安全检查
  8. 继续正常

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

我还没有做过自动重新整合,但我只是关闭发行说明。

+2

由于“不指定修订范围(合并所有符合条件的修订版)” – oldwizard

+0

感谢您提供有用的解释。我注意到,在SVN 1.7中,合并跟踪也很完美,我也没有看到需要使用重新合并。 1.7也可以使用正常的合并重新整合吗? – Fletch

+0

@Fletch自从1.5以来,我一直在collab.net博客上提到有关合并重新集成的引用[此帖子](http://blogs.collab.net/subversion/subversion-merg)。我仍然在1.7中使用它进行分支重组 - 它基本上做了很多额外的安全检查,并且它在过去已经发现了潜在的问题(1.7)。仔细查看发布文档,我认为建议是将客户端升级到1.8(服务器版本只需要1.5+),因为自动合并重新集成是CLIENT端操作,因此您绝对不必担心。 –

14

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

但是,您应该使用新的Automatic reintegration merge

+1

冬青!感谢您选择SHIFT选项。那里真的帮了我很多。 – imclickingmaniac

+4

谢谢,不知道'Shift'选项!无论如何,在“TortoiseSVN 1.9.2”中,没有“合并重新合并......”了。 – Micer

相关问题