如何将文件从一个分支复制到另一个分支?

时间:2013-05-20 04:17:36

标签: svn

我有这样的事情:

/repo/branch-a/foo/apples
/repo/branch-a/foo/oranges
/repo/branch-a/bar/broccoli
/repo/branch-a/bar/potato
/repo/branch-b/snazz
/repo/branch-b/jazz

现在我想将snazz文件夹移动到branch-b'barfoo'的第三个子文件夹中

例如,之后,它看起来像:

/repo/branch-a/foo/apples
/repo/branch-a/foo/oranges
/repo/branch-a/bar/broccoli
/repo/branch-a/bar/potato
/repo/branch-a/barfoo/snazz
/repo/branch-b/barfoo/jazz
/repo/branch-b/snazz
/repo/branch-b/jazz

我最初尝试这样做的方法是检查branch-a,然后检查分支-b。在branch-a中创建barfoo文件夹,然后将snazz和jazz文件夹复制到barfoo文件夹中。

问题在于,副本会复制所有.svn文件夹,因此当您尝试提交时,这些文件夹中的文件仍然指向branch-b repo。

我可以浏览并删除所有.svn文件夹,但是如果有很多子文件夹,那么这是非常耗时的,并不是一个好的解决方案。

2 个答案:

答案 0 :(得分:2)

如果您使用Windows / Tortoise SVN:

我会检查回购,然后用鼠标右键从snazz移动jazzbranch-abranch-b并选择“SVN移动版本化项目”。这样您就可以保留SVN历史记录。

答案 1 :(得分:0)

而不是复制,导出它们。如果你导出,它只复制文件而不是.svn文件。 tortoisesvn有此选项,您可以通过右键单击拖放并选择全部导出。