1

我有这样的事情:

/repo/branch-a/foo/apples
/repo/branch-a/foo/oranges
/repo/branch-a/bar/西兰花
/repo/branch-a/bar/土豆
/repo/branch-b/snazz
/repo/branch-b/爵士乐

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

例如,之后,它将如下所示:

/repo/branch-a/foo/apples
/repo/branch-a/foo/oranges
/repo/branch-a/bar/西兰花
/repo/branch-a/bar/土豆
/repo/branch-a/barfoo/snazz
/repo/branch-b/barfoo/jazz
/repo/branch-b/snazz
/repo/branch-b/爵士乐

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

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

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

4

2 回答 2

3

如果您使用 Windows/Tortoise SVN:

我会签出 repo,然后用鼠标右键从to移动snazz并选择“SVN 在此处移动版本化项目”。这样,您将保留 SVN 历史记录。jazzbranch-abranch-b

于 2013-05-20T05:04:33.817 回答
0

而不是复制,导出它们。如果您导出,它只会复制文件而不是 .svn 文件。tortoisesvn 有这个选项,你可以右键拖放,选择全部导出。

于 2013-05-20T04:19:57.260 回答