3

不久前,我使用 tortoiseSVN 创建了一个本地存储库。现在我想将存储库迁移到我的DreamHost帐户。

我将文件移了过来,但 DreamHost 似乎使用的是旧版本的SVN

当我发出命令时

svnadmin load 'repository dir'

它吐回来

svnadmin:预期的 FS 格式“2”;找到格式“4”

解决方案?

4

2 回答 2

5

编辑:您的消息是由于您使用较新版本的服务器创建了目标存储库,然后尝试使用较旧版本的svnadmin. 阅读下面的正确程序。


我不明白这svnadmin load部分,您之前是否创建过转储文件svnadmin dump?这是跨版本移植存储库的最佳选择,因为通常格式不应更改。

因此,您应该在使用原始存储库的版本(最新的 SVN 版本)上执行以下操作:

svnadmin dump <repos_path> > dump_file

在目标服务器上(最旧的 SVN 版本):

svnadmin create <newrepos_path>
svnadmin load <newrepos_path> < dump_file

如果您有一个大存储库,您可能希望--deltas在转储中使用该选项,因为这些转储可能会变得非常大。

如果这就是您所做的并且失败了,您能否详细说明各个版本并提供更多详细信息?

于 2009-11-04T19:47:46.680 回答
2

如果转储不起作用,您还可以尝试svnsync将内容迁移到新存储库:创建 DreamHost 存储库后,创建一个简单的pre-revprop-change挂钩,该挂钩仅退出 0,以启用 propchanges:

#!/bin/sh
exit 0

在此之后,您可以开始:

svnsync init [DREAMHOST_URL] [OWN_REPO_URL]

svnsync sync [DREAMHOST_URL]

然后所有修订将流向您的新存储库..

于 2009-11-04T20:28:12.503 回答