从 BDB SVN 存储库中恢复源代码
Posted
技术标签:
【中文标题】从 BDB SVN 存储库中恢复源代码【英文标题】:Recover source code from BDB SVN Repository 【发布时间】:2019-10-02 21:45:11 【问题描述】:我正在尝试从我不再拥有远程存储库的 SVN 备份中恢复源代码。这是一个旧项目,它使用 BDB 作为 SVN 客户端不再支持的数据库。
此备份中的文件是:
db/
hooks/
locks/
format
README.txt
到目前为止我已经尝试过:
使用来自svnadmin
的recover命令
使用 svn 1.8(仍然支持创建 BDB 存储库)创建新存储库并复制 db/
文件夹。 db/
文件夹的结构与较新的版本有本质的不同,我备份中的那个有修订和事务作为文件夹,而不是文件。
从 svn 1.6(来自 apache archives)下载源代码并从头开始编译。由于许多过时的依赖项,我无法编译。
一些附加信息:
我正在使用 Linux 来执行此操作,但我也在 Windows 和 Mac 中尝试过
我目前安装的svn版本是1.8
我无法访问原始服务器,我有一个备份 zip 文件
这是db文件夹的内容:
revprops/
revs/
transactions/
txn-protorevs/
__db.001
__db.002
__db.003
DB_CONFIG
__db.register
log.0000000001
nodes
txn-current
txn-current-lock
uuid
write-lock
我被困在这个问题上,我不知道我还能尝试从这个存储库中提取源代码。
【问题讨论】:
【参考方案1】:-
This manual 的迁移可能会有所帮助
正如我在Apache Subversion 1.8 Release Notes 中看到的(现在)
Subversion 开发人员已决定弃用该存储库 基于 Berkeley DB 的后端。 …这不意味着什么:用户做 不必立即将其存储库迁移到 FSFS。发展局 后端将继续工作,并将获得尽可能多的测试覆盖率 一直到现在。
即您可以按照 Collab 文档中的建议,拥有带有 BDB 后端的存储库并使用它执行所有常规管理操作 - 创建转储并将其加载到具有 FSFS 后端的新存储库中。如果您的数据库在recover
之后没有损坏,那么转储|加载技巧必须得到预期的结果
【讨论】:
recover
和 dump
产生相同的错误:svnadmin: E000002: Can't open file 'db/DB_CONFIG': No such file or directory
嘿 Frederico,你解决了吗?我在恢复 repo 时遇到了同样的错误。
我正在尝试svnadmin dump my_repo
并得到svnadmin: E160033: Failed to load module for FS type 'bdb'
以上是关于从 BDB SVN 存储库中恢复源代码的主要内容,如果未能解决你的问题,请参考以下文章