svn:将分支复制到trunk

时间:2010-07-21 18:56:12

标签: svn

我有一个SVN项目,我正在研究一个分支,还有一个空主干:

myproject/
  branches/
    mybranch/
      {there's stuff here}
  tags/
  trunk/

如何将mybranch的内容复制到行李箱? TortoiseSVN抱怨已经有一个trunk目录。我可以从存储库中删除(空)中继,然后复制,但这似乎有点错误......


澄清:我有一个我故意留空的行李箱。我的“mybranch”全部签入。在repo-browser中,TortoiseSVN给了我一个“复制”选项但不是合并选项。

如果合并是正确的,我该怎么办?我是否检查空主干然后合并到该工作副本,然后重新检入?


更新:合并也不起作用; SVN抱怨两个“分支”(branches/mybranchtrunk)不是祖先相关的。

5 个答案:

答案 0 :(得分:3)

我会做你提到的,删除主干然后复制分支。这有点不对,但这是因为你没有复制以便首先制作分支。

答案 1 :(得分:2)

您可以将svn导出到trunk文件夹,然后添加并提交。

或...你可以合并--ignore-ancestry flag

答案 2 :(得分:1)

通常,您将分支合并到主干中。分支通常代表您为单独开发分支的功能,或者因为如果没有完成它可能会破坏您的功能。移动和复制是合并的不同操作。

答案 3 :(得分:1)

您可能正在寻找svn mergehttp://svnbook.red-bean.com/en/1.0/ch04s04.html

答案 4 :(得分:-1)

我刚刚在我的项目中完成了它。我们可以像操作一样进行简单的文件夹复制:

  1. 将trunk重命名为trunk_temp。
  2. 将标签复制到主干
  3. 这两个操作都可以使用eclipse插件完成。在eclipse中打开svn repository透视图。  4.右键单击trunk并选择Team>>重构>>重命名为>>输入trunk_temp。
     5.右键单击Tag>>选择重构>>复制到>>选择项目目录一级到中继。您可以选择提供新目录的名称并输入trunk。 就这样。

    最终结果将是:

    1. 现有的trunk重命名为trunk_temp。你也可以创建一个分支。
    2. 将标签复制到主干
    3. 如果您创建了分支,则删除trunk_temp。