SVN:将分支复制到主干

5

我有一个SVN项目,其中包括一个我正在开发的分支和一个空的主干:

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

我该如何将“mybranch”的内容复制到“trunk”中?TortoiseSVN报错说已经有一个“trunk”目录了。我可以删除仓库中的(空)“trunk”,然后再进行复制,但这样做似乎不太对劲... 澄清:我有一个故意留空的“trunk”。我的“mybranch”已全部检入。在仓库浏览器中,TortoiseSVN给出了“复制”选项,但没有合并选项。
如果合并是正确的做法,我该怎么做?我要先检出空的“trunk”,然后将其合并到工作副本中,再检入吗? 更新:合并也行不通;SVN报错说两个“分支”(branches/mybranchtrunk)没有祖先关系。
5个回答

3

我会按照你所说的做,删除主干然后复制分支。这样做有点不对,但是因为你一开始没有复制创建分支。


所以如果我将一个空的 trunk 目录复制到 branches 目录,我就可以合并了吗? - Jason S

2
你可以将svn导出到主干文件夹,然后添加和提交。
或者...您可以使用--ignore-ancestry标志进行合并。

1
通常情况下,您将分支合并到主干。该分支通常代表您为单独开发而分支的功能,或者因为如果未完成可能会破坏您的功能。移动和复制是与合并不同的操作。

1

-1

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

  1. 将trunk重命名为trunk_temp。
  2. 将tag复制到trunk中

这两个操作都可以使用Eclipse插件完成。在Eclipse中打开svn仓库视图。 4. 在trunk上右键单击,选择Team >> Refactor >> Rename to >> 输入trunk_temp。
5. 在标签上右键单击,选择Refactor >> Copy To >> 选择项目目录到trunk上一级。你将有选项提供新目录的名称和输入trunk的类型。 就是这样。

最终结果将是:

  1. 现有的trunk被重命名为trunk_temp。您还可以创建一个分支。
  2. 标签被复制到trunk中
  3. 如果您创建了一个分支,请删除trunk_temp。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接