SVN / Subclipse:从分支返回到主干

时间:2009-09-03 13:41:30

标签: svn merge subclipse

我有一个分支,我是从前一段时间创建的。自从我创建了分支机构以来,我没有接触到主干。现在,我想从分支返回到主干。这是一个非常简单的案例,因为没有太多的合并要做。行李箱没有任何变化。分支可以完全替换主干。

在我看来,我有两个选择:

  1. 删除主干(将其重命名为其他内容,稍后将其删除)并将分支重命名为主干。
  2. 将分支合并到主干(将我的工作副本移动到主干并使用分支中的合并命令)。
  3. 我不确定哪个选项更受欢迎。对我来说,维护修订上下文非常重要(不要破坏修订图)。

    有什么想法吗?

3 个答案:

答案 0 :(得分:4)

你真的应该使用合并选项。由于所有更改都在1次提交内,因此丢失修订信息的参数可以忽略不计,因为颠覆合并跟踪将保留此信息。如果您仍然安装了1.5之前的版本,则可以在提交消息中记下修订版本范围和分支路径。

由于你没有更改主干中的任何内容,合并将是一个明智的选择,正如你刚才所说:

svn merge branchname <Workingcopy-Path>

(当然你的工作副本应该指向主干)

您的评论的答案

svn 1.4没有合并跟踪,所以你应该回滚

为什么你不应该将分支重命名为trunk:

这不是你应该工作的方式在你的简单设置中这将是有效的,但是,你的主干将被删除,所有文件将被再次添加,但你无法轻松跟踪已更改的文件,如在你的行动< em>所有文件都已添加。

如果合并,则只有您在分支中更改的文件才会显示为已修改。

此外,所有来自旧主干的workcopys都将失效(因为你单独工作,这可能并不重要),所以你需要再次检查它们。

答案 1 :(得分:0)

在你的情况下,我更喜欢第一个选项。在分支中完成的所有修改的另一种方式是作为一个修订应用于主干。因此,您将丢失这些更改的修订信息。如果将分支移动到旧主干目录的位置,则修订信息将保持不变。

答案 2 :(得分:0)

我认为最简单的方法(不知道是否最好做)是使用“svn move”来执行第一个选项。

在svn中复制和移动应该像文件操作一样工作,这些更改也是版本化的。

编辑:我的答案几乎就像VonC提到的前一主题的答案之一,所以你应该看看这个答案