2

我有一个由 berkeley DB 支持的 Subversion 存储库。有时它会因为一些锁而崩溃,并且没有被释放,但是今天早上使用'svnadmin recover'命令是不可能恢复它的。相反,它失败并出现以下错误:

svnadmin: Berkeley DB error for filesystem 'db' while opening 'nodes' table:
Invalid argument
svnadmin: bdb: file nodes (meta pgno = 0) has LSN [1083][429767].
svnadmin: bdb: end of log is [1083][354707]
svnadmin: bdb: db/nodes: unexpected file type or format

我将从最后一次已知的良好备份中恢复存储库,但很高兴知道是否有办法修复此存储库。

编辑:即使是 db_recover 实用程序也没有什么不同。它显示恢复已完成,但在使用 svnadmin 验证存储库时仍然存在相同的错误。

4

4 回答 4

5

我有一个由 berkeley DB 支持的 Subversion 存储库。

很抱歉听到这个消息。我建议您尽早转储该存储库 ( svnadmin dump) 并将其重新加载到由 FSFS ( svnadmin load) 支持的新存储库中。

于 2008-09-23T08:19:09.940 回答
1

对于想要尝试db_recover功能的人来说,首先需要找到正确的 berkeley DB版本,然后使用正确版本的berkeley DB软件。然后运行恢复实用程序:

db_recover -c -v -h <path to subversion db dir>
于 2008-09-23T09:00:16.690 回答
1

你试过db_recover吗?后者往往能够比 svnadmin 纠正更多的问题

于 2008-09-23T08:35:03.117 回答
1

我知道这个问题已经很老了,但是还有另一种方法对我有用: svnadmin recover <svn path>

于 2010-05-17T18:34:33.910 回答