1

所以,我又遇到了这个问题,并决定听取专家的意见(请只请那些知道他们在说什么的人)。

我从另一个分支(称为 UAT_BRANCH 并且这个主分支是测试版本的主分支)创建了一个分支(DUMMY-BRANCH)。我在 DUMMY-BRANCH 中进行了更改并测试了这些更改,直到我对这些更改感到满意为止。然后是时候将我的更改合并回主分支,在本例中为 UAT_BRANCH,我继续打开 TortoiseSVN 来完成这项工作。我在合并两棵不同的树上打开了在线手册,然后再次尝试让这个合并的事情正确。我将 UAT_BRANCH 指定为 FROM(起始 URL),将 DUMMY-BRANCH 指定为 TO(结束 ​​URL)。我测试了合并,然后最后进行了实际合并。当我刷新 UAT_BRANCH 并检查我的分支中的更改是否已重新集成时,我发现它没有。现在随后尝试切换 FROM AND TO url 没有产生任何结果,可能导致损坏已经完成或其他原因(我认为重新集成已经发生并且没有撤消它)。

我想要的是对我在这种情况下做错了什么以及如何在 SVN 或实际上是 tortoiseSVN 中实际进行合并的一些明确解释。提前致谢。

4

2 回答 2

6

似乎您试图通过“合并两个不同的树”来完成错误的场景。您需要“重新集成分支”场景,在您参考的同一在线手册中进行了描述。请注意,您必须对 UAT_BRANCH 工作副本执行合并操作,并将 DUMMY-BRANCH 用作“来自 URL”。此外,您的 Svn 版本必须支持合并跟踪。确保 UAT_BRANCH 的工作副本在合并之前是最新的,然后对其执行“重新集成分支”合并,然后提交更改。

于 2013-04-02T12:27:07.743 回答
3

在这一点上 - 正如你做了几个意图,也和切换- 不可能确定到底发生了什么以及现在的情况是什么。不过,我会建议以下内容(通过 TortoiseSVN UI 进行操作)。

当你想重新整合一个分支时,你必须:

  1. 更新 Trunk 的本地副本(在您的情况下为 UAT_BRANCH)并提交所有更改(如果有)。
  2. 将更改从 Trunk 移植到分支。为此,您可以选择“合并一系列修订”选项,然后选择主干作为“要合并的 URL”。对于“要合并的修订范围”,选择分支创建修订号作为范围中的初始版本,并将 HEAD 修订号作为最终版本(或者您可以将此框留空以获得相同的结果)。尝试“测试合并”,如果一切正常,合并它。您现在拥有的是分支的本地副本,其中包含来自主干的所有修订。(如果您使用“合并一系列修订”来做到这一点,似乎您可能是出于第一个意图这样做的)。
  3. 如果上一步一切顺利,您就可以将分支与 Trunk 合并。现在选择Trunk本地副本的文件夹,然后从合并菜单中选择“重新集成分支”,然后为“来自URL”选择分支。对于“工作副本”,应该出现您本地中继副本的文件夹。同样,在运行真正的合并之前测试合并它。现在你有了一个更新了分支的本地主干副本。如果您提交它,您将对 repo 进行所有更改。

也许,在你所有的尝试之后,你很幸运仍然拥有更新了主干修订版的分支 (DUMMY-BRANCH) 的本地副本。如果是这样,请执行第 3 步。如果不确定,请尝试还原更改(注意不要丢失分支中的工作,复制一份以防万一)并完成所有过程。

祝你好运!

于 2013-04-03T11:01:14.620 回答