TortoiseSVN将分支合并到主干

时间:2013-09-23 23:34:13

标签: svn tortoisesvn

这是这个问题的延续:TortoiseSVN merging branch to trunk 如果原始问题应该编辑,请告诉我,我会这样做。

这是目前的情况。

在我的电脑上有一个包含工作副本的项目,该项目都是最新的。我基于此创建了一个新分支,并将我的工作副本切换到这个新分支。

由于这样做,另一位开发人员检查了对主干的一些更改,并且我对分支进行了一些更改。我不认为我们已经更改了相同的文件,因此我们应该在任何冲突中保持良好状态。

我想将我的更改合并到主干中。

我选择合并,然后选择合并一系列修订版。从i合并的URL已选择中继。范围是空白的。当我进行测试合并时,它似乎是添加了添加到项目中的每个文件 - 它确实添加了更多文件然后自从我从主干分离后的更改。当应该只更改10或20个文件时,它会执行数百个文件。

我应该选择其他开发人员签入后备箱的修订范围吗?或者我应该选择“合并两棵不同的树木”。 ?如果我尝试并尝试从trunk到我的分支进行测试合并,我会发生冲突。如果我尝试从我的分支到主干,看起来它的工作原理。虽然我当时想要将所有东西都推回到主干,因为我已经在我的分支中做了一些修复,我希望在继续进行分支中的任何更改之前将其包含在主干中。

修改:更多细节以帮助明确当前设置

我的工作副本以前是后备箱的一部分。我使用tortoise来创建一个新的分支并将我的工作副本切换到该分支。所以该项目看起来像: /项目/分支机构/ mybranch

后备箱看起来像 /项目/主干

另一个开发人员检查了一些变化到后备箱,并且我检查了一些变化到mybranch。我想在mybranch上做更多工作之前将所有这些更改合并回主干。当我查看mybranch的日志时,只有3个签到; 153,154和159(和153只是分支的创建) 当我查看主干的日志时,有4个,因为它是从主干分开的:155-158

应该没有冲突,因为我们没有处理相同的文件。

如果我尝试合并FROM mybranch并且未指定修订范围,则它似乎是添加项目中的每个文件。即我做了一个测试合并,它显示了数百个添加的文件。

如果我执行测试合并FROM trunk并指定修订版155-158,它看起来会将所有更改从trunk合并到我的工作副本中。我想如果我这样做,我可以检查所有内容到mybranch,此时我只需要弄清楚如何将所有内容合并回主干。

以上所有操作都是使用'合并一系列修订'。

如果我尝试合并两棵不同的树'尝试合并从主干到mybranch(带头版)我发生了冲突。

如果我尝试从mybranch合并到trunk,它看起来很有效。

从我所看到的,看起来像从mybranch到trunk的树合并是我想要做的。我不确定,因为到目前为止,我被告知要做其他事情。

我希望一切都被推入主干。我计划对mybranch中的代码进行大量更改,这将打破项目直到它完成,这就是为什么我希望trunk在我开始之前是最新的,以防我需要修复任何现有的代码

edit2 :当我执行合并范围的修订并选择mybranch作为要合并的网址时,这就是在乌龟窗口中显示的命令: 命令:将/ branches / mybranch的修订版1-HEAD合并到C:\ Users \ xxxx \ Documents \ Visual Studio 2010 \ Projects \ MyProject中,尊重祖先,仅测试

我的工作副本已经在mybranch上了。所以对我而言,这听起来像是将mybranch合并到我的工作副本中,这已经是mybranch的一部分了,所以基本上它将mybranch合并到自己身上了?

合并来自主干是唯一对我有意义的事情。如果合并FROM trunk并选择其他dev检入的修订范围,则输出似乎正确。那时我只需要将它们全部合并回主干。

命令:将/ trunk的修订版154-158合并到C:\ Users \ XXX \ Documents \ Visual Studio 2010 \ Projects \ myproject中,尊重祖先,仅测试

重要的修订号是:

trunk:155-158 - 这些是另一个dev检入trunk的修订版

mybranch:153,154和159. 153是分支的创建。 154和159是需要合并到主干中的实际文件更改。

我刚尝试过的另一个命令似乎也可以做我想要的是如果我从mybranch合并到trunk并指定FROM下的修订版154或159和TO(trunk)下的修订版152。我从未尝试过使用当前版本以外的任何其他内容,但我并不完全确定如果我合并修订后的几个数字会发生什么。

命令:从/ branches / mybranch,版本154到/ trunk,修订版152合并到C:\ Users \ xxxx \ Documents \ Visual Studio 2010 \ Projects \ myproject,尊重

感谢任何有关澄清正确方法的帮助。

由于

1 个答案:

答案 0 :(得分:7)

  

从i合并的网址已选中中继。

如果您想要合并回trunk,那么要从合并的网址就是您的branch。您从branch的存储库版本合并到本地的trunk副本。合并完成后,您将检查主干。

更新 :对于所有不想阅读完整评论的人:正如评论中提到的 merk ,有必要签出的行李箱副本。