SVN - 创建新存储库并从旧存储库添加主干和分支

时间:2011-03-07 15:26:20

标签: svn tortoisesvn visualsvn-server

我想重命名我的SVN存储库。我尝试过将svn copy命令从一个存储库复制到另一个存储库,但这不起作用:

F:\Old>svn copy https://devserver2.sockltd.local/svn/Dantooine https://devserver2.sockltd.local/svn/IOCPTest

svn: Repository moved permanently to 'https://devserver2.sockltd.local/'; please relocate

当我查看存储库列表时,IOCPTest不存在。

是否有某种方法可以重命名存储库,或者我应该只导出旧存储库并将其内容转储到新存储库中。问题是,通过这种方法,我将松散分支和修订历史。

感谢

2 个答案:

答案 0 :(得分:2)

我在VisualSVN服务器的主应用程序窗口中找到了一个功能 - “导入现有存储库...”

它自动执行将一个存储库复制到新存储库的任务,同时提供指定新存储库名称的便利性。它可以满足我的需求并复制分支和修订历史:)

答案 1 :(得分:0)

这取决于VisualSVN如何组织您的存储库。如果Dantooine是一个单独的存储库(即有自己的独立版本号),那么最简单的方法是复制/重命名服务器上的Dantooine目录。该名称未包含在存储库数据中 - 就subversion而言,它只是数据传输的URL,它通过GUID revprop识别存储库 - 因此在客户端上重命名后跟svn switch --relocate应该足够移动它。

如果您想要创建存储库的完整副本/分支,您可以再次复制Dantooine目录。

或者如果你真的想要从reposistory复制/过滤分支,你可以使用svnadmin dump来备份旧的存储库和svndumpfilter python脚本来剥离你不支持的分支想要,然后svnadmin load将过滤后的备份加载到新的存储库中。

所有这些可能都不是VisualSVN做事的方式 - 但我自己从未使用过。