代码之家  ›  专栏  ›  技术社区  ›  zvikico

SVN/Subclipse:从分支返回主干

  •  2
  • zvikico  · 技术社区  · 15 年前

    我有一个树枝,是我以前用树干做的。自从我做了树枝,我就没有碰过树干。现在,我想从树枝回到树干。这是一个非常简单的例子,因为没有太多的合并要做。后备箱没什么变化。分支可以完全替换主干。

    据我所见,我有两个选择:

    1. 删除主干(将其重命名为其他名称,稍后将其删除),并将分支重命名为主干。
    2. 将分支合并到主干(将我的工作副本移动到主干并使用分支中的merge命令)。

    我不知道该选哪一种。对我来说,维护修订上下文很重要(不要破坏修订图)。

    有什么想法吗?

    3 回复  |  直到 15 年前
        1
  •  4
  •   Peter Parker    15 年前

    您真的应该使用合并选项。当所有更改都将在1提交内时,丢失修订信息的论点是可以忽略的,因为Subversions合并跟踪将保留此信息。如果仍然有1.5之前的安装,可以在提交消息中注意修订范围和分支路径。

    由于您没有更改主干中的任何内容,合并将是一个无需大脑的过程,正如您刚才所说:

    svn merge branchname <Workingcopy-Path>
    

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

    对你的评论的回答

    SVN 1.4没有合并跟踪,因此您应该 回降

    为什么不应将分支重命名为主干:

    这不是您在简单设置中应该使用的方法。这将有效,但是,您的主干将被删除,所有文件将再次添加,但您不能像在操作中那样轻松跟踪更改的文件。 全部的 文件已添加。

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

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

        2
  •  0
  •   sebasgo    15 年前

    在您的情况下,我更喜欢第一个选项,相反,您在分支中所做的所有修改都将作为主干的一个修订应用。因此,您释放了这些更改的修订信息。如果将分支移动到旧主干目录的位置,则修订信息将保持不变。

        3
  •  0
  •   Diego Dias    15 年前

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

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

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