我尝试转储时出现SVN错误

时间:2015-09-14 19:29:45

标签: svn version-control repository dump

我有一个有效的SVN存储库(CollabNet Subversion Edge 4.0.11) 在Windows(2012 R2)上有62200左右的转速。 我正在使用Apache / 2.2.29将它移动到Linux RedHat 6.6(CollabNet版本1.8.13)。 我理解迁移的最佳方法是转储存储库。所以我运行了以下转储命令:

svnadmin dump -r 1:62268 F:\csvn\data\repositories\repos > G:\MyDump.dump

当我尝试转储Windows资源库时,我在修订版4255中收到错误:

  

svnadmin:E200002:序列化哈希格式错误。

接下来我在那之后运行另一个转储因为我认为我可以通过将相邻的修订合并到损坏的转发中来解决这个问题,所以我运行以下命令:

svnadmin dump -r 4257:62268 F:\csvn\data\repositories\repos > G:\My2dump.dump

这引发了修订版16153的新错误让我感到困惑:

  

svnadmin:E140001:zlib(uncompress):损坏的数据:解压缩   svndiff数据失败

然后,当我进行第三次转储时,因为我是贪婪或惩罚。我使用以下命令:

svnadmin dump -r 16154:62268 F:\csvn\data\repositories\repos > G:\My3dump.dump

但它只是挂起而似乎无所事事。 该存储库可以追溯到10年以上,仅过去6年才具有相关性。我可以以某种方式修改转储以从当前提取过去的X年或修订版本没有损坏并将其加载到新的存储库中吗?所以我会从现在开始转储然后倒退呢? (只是一个想法) 我没有任何好的备份,因为那些服务器和磁带随着最后的公司搬迁而消失。 谢谢, davidf

1 个答案:

答案 0 :(得分:0)

  

我可以以某种方式修改转储以从当前提取过去的X年或修订版本中没有损坏并将其加载到新的存储库中吗?

是的,从理论上讲 - 转储是可读的文本文件。 但是我建议在存储库(svn log -r {DATE})中检测“最需要的”修订版,并从REV到HEAD创建一组(相对较小的)转储

  

所以我会从现在开始转发然后倒退呢?

只有“每次转储一次修订”,这将是噩梦。转储是在另一个方向创建的:“从最旧到最新”

最后的注释

我确定,您已经(至少尝试)使用svnadmin verify|recover|pack检查并修复损坏的存储库(了解svnadmin可能性)