我有这样的事情:
/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文件夹,但是如果有很多子文件夹,那么这是非常耗时的,并不是一个好的解决方案。
答案 0 :(得分:2)
如果您使用Windows / Tortoise SVN:
我会检查回购,然后用鼠标右键从snazz
移动jazz
和branch-a
到branch-b
并选择“SVN移动版本化项目”。这样您就可以保留SVN历史记录。
答案 1 :(得分:0)
而不是复制,导出它们。如果你导出,它只复制文件而不是.svn文件。 tortoisesvn有此选项,您可以通过右键单击拖放并选择全部导出。