恢复空的SVN DB文件

时间:2009-06-03 19:27:27

标签: svn

我试图转储我们的SVN存储库,以便将其迁移到更新的硬件。其中一个修订版本给了我一个问题,但是我试图跳过或“跳转”从该数字转换到更高版本号的修订版,但问题仍然存在:

svnadmin:无法读取文件'D:\ repositories \ REPO_NAME \ db \ revs \ 3677':找到文件结尾

事情就是我执行了以下命令:

svnadmin dump D:\ repositories \ REPO_NAME --revision 4000:5000> d:\ 4000_5000.dmp

因此,应该只将版本4000转储到5000版本,但由于某种原因,修订版本范围确实会从较低版本开始下降。

所以我去了 db / revs 目录,看看冲突文件发生了什么,文件是空的,零字节。

我查看了所有“SVN红皮书”,SVN文档和谷歌但没有找到任何内容,有很多恢复存储库的例子,但没有一个工作,例如,运行 svnadmin recover 抛出另一个错误:

“试图在文件开头之前移动文件指针”

所以我现在有点迷失了,有没有办法恢复空文件或将其从转储中排除,这样它不会影响更高版本?

1 个答案:

答案 0 :(得分:0)

  

有没有办法恢复空   文件?

显然答案是。您必须从备份中恢复修订文件。

  

或将其从转储中排除,以便它   不影响高级修订

可以使用--incremental开关:

svn dump D:\repositories\REPO_NAME --incremental --revision 4000:5000 > D:\4000_5000.dmp

但是,它不会抱怨,但是你会遇到使用svnadmin load组装你的存储库的问题,因为它会抱怨一些丢失的节点(如果它们是在rev 3677中添加的)。但这可以让你知道修订版3677中发生了什么。