我使用tortoiseSVN创建了一个本地存储库。 现在,我想将存储库迁移到我的DreamHost帐户。
我移动了文件,但似乎DreamHost使用的是旧版SVN。
当我发出命令
时svnadmin load 'repository dir'
它吐了回来
svnadmin:预期的FS格式为'2'; 找到格式'4'
解?
答案 0 :(得分:5)
编辑:您的消息是由于您使用较新版本的服务器创建了目标存储库,然后尝试使用 {<1}}的较旧版本。请阅读下面的正确程序。
我不理解svnadmin
部分,您之前是否使用svnadmin load
创建了转储文件?这是跨版本移植存储库的最佳选择,因为通常格式不应该更改。
所以你应该在使用原始存储库(最新的SVN版本)的版本上执行:
svnadmin dump
并在目标服务器上(最旧的SVN版本):
svnadmin dump <repos_path> > dump_file
如果您有一个大型存储库,您可能希望在转储中使用svnadmin create <newrepos_path>
svnadmin load <newrepos_path> < dump_file
选项,因为这些转储可能会变得非常大。
如果这就是您所做的并且失败了,您能否确定相应的版本并提供更多细节?
答案 1 :(得分:2)
如果转储无效,您还可以尝试 svnsync 将内容迁移到新的存储库: 创建DreamHost存储库后,创建一个简单的 pre-revprop-change 挂钩,它只退出0,以启用propchanges:
#!/bin/sh
exit 0
在此之后你可以开始:
svnsync init [DREAMHOST_URL] [OWN_REPO_URL]
svnsync sync [DREAMHOST_URL]
然后所有修订都将流向您的新存储库..