在没有备份的情况下重新创建 SVN 存储库

Recreating SVN repo without a backup

我在 CentOS 5 主机上有一个 subversion 存储库,它没有使用 SVN 工具备份,而是错误地使用 rsync 完成的。我试图将它恢复到一个新的存储库中(在 CentOS 6 主机上 - 版本 1.6.11)但我遇到了一些困难。

# svnadmin verify . 
svnadmin: Can't open file 'format': No such file or directory

# ls
db  hooks  locks

在 db 目录中是 revs(许多编号的文件)和事务。

大多数在线说明都是基于使用 svnadmin 转储文件,而不是位于存储库中的原始文件。

我如何使用这个非官方备份的数据来创建转储或导入到可验证的存储库中。提前致谢。

如果您只有常规文件系统备份,那么您可以做的事情并不多。您缺少 conf 目录和 format 文件。

首先,确保您没有在您唯一的存储库副本上操作。

使用合适的 svnadmin 版本(匹配你在 CentOS 5 服务器上的版本),运行 svnadmin create tmprepo 在一个临时位置。然后将 conf 目录和 format 文件复制到您恢复的目录,然后再次尝试 svnadmin verify

这可能有效也可能无效,但希望它说明了使用官方文档中概述的方法执行备份的重要性。