我有一个分支,我是从前一段时间创建的。自从我创建了分支机构以来,我没有接触到主干。现在,我想从分支返回到主干。这是一个非常简单的案例,因为没有太多的合并要做。行李箱没有任何变化。分支可以完全替换主干。
在我看来,我有两个选择:
我不确定哪个选项更受欢迎。对我来说,维护修订上下文非常重要(不要破坏修订图)。
有什么想法吗?
答案 0 :(得分:4)
你真的应该使用合并选项。由于所有更改都在1次提交内,因此丢失修订信息的参数可以忽略不计,因为颠覆合并跟踪将保留此信息。如果您仍然安装了1.5之前的版本,则可以在提交消息中记下修订版本范围和分支路径。
由于你没有更改主干中的任何内容,合并将是一个明智的选择,正如你刚才所说:
svn merge branchname <Workingcopy-Path>
(当然你的工作副本应该指向主干)
您的评论的答案
svn 1.4没有合并跟踪,所以你应该不回滚
为什么你不应该将分支重命名为trunk:
这不是你应该工作的方式在你的简单设置中这将是有效的,但是,你的主干将被删除,所有文件将被再次添加,但你无法轻松跟踪已更改的文件,如在你的行动< em>所有文件都已添加。
如果合并,则只有您在分支中更改的文件才会显示为已修改。
此外,所有来自旧主干的workcopys都将失效(因为你单独工作,这可能并不重要),所以你需要再次检查它们。
答案 1 :(得分:0)
在你的情况下,我更喜欢第一个选项。在分支中完成的所有修改的另一种方式是作为一个修订应用于主干。因此,您将丢失这些更改的修订信息。如果将分支移动到旧主干目录的位置,则修订信息将保持不变。
答案 2 :(得分:0)
我认为最简单的方法(不知道是否最好做)是使用“svn move”来执行第一个选项。
在svn中复制和移动应该像文件操作一样工作,这些更改也是版本化的。
编辑:我的答案几乎就像VonC提到的前一主题的答案之一,所以你应该看看这个答案