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