尝试转储时出现SVN错误
我有一个可用的SVN存储库(CollabNet Subversion Edge 4.0.11) 在Windows(2012 R2)上,转速为62200左右。 我正在将它迁移到一个使用Apache/2.2.29的Linux RedHat 6.6(CollabNet版本1.8.13)。 我知道最好的迁移方法是转储存储库。因此,我运行了以下转储命令:尝试转储时出现SVN错误,svn,version-control,repository,dump,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
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
svnadmin dump -r 16154:62268 F:\csvn\data\repositories\repos > G:\My3dump.dump
这在修订版16153中出现了一个新错误,使我感到困惑:
svnadmin:E140001:zlib(解压缩):损坏的数据:解压缩
svndiff数据失败
然后当我跑第三个垃圾场的时候,因为我是一个贪食者或惩罚。我使用以下命令:
svnadmin dump -r 4257:62268 F:\csvn\data\repositories\repos > G:\My2dump.dump
svnadmin dump -r 16154:62268 F:\csvn\data\repositories\repos > G:\My3dump.dump
但它只是挂起来,似乎什么也没做。
该存储库可追溯到10多年前,仅与过去6年相关。我是否可以通过某种方式修改转储文件,从当前文件中提取未损坏的过去X年数或修订版,并将其加载到新的存储库中?所以我会从现在开始倒掉,可以说是倒退?(只是一个想法)
我没有任何好的备份,因为这些服务器和磁带在公司最后一次搬家时就不见了。
谢谢
达维夫
我是否可以通过某种方式修改转储文件,从当前文件中提取未损坏的过去X年数或修订版,并将其加载到新的存储库中
是的,理论上-转储是可读的文本文件但是我建议在存储库中检测“最早需要的”修订(svn log-r{DATE}
),并从REV到HEAD创建一组(相对较小的)转储
所以我会从现在开始倒掉,可以说是倒退
只有“每转储一次修订”,这将是一场噩梦。转储以另一个方向创建:“从最旧到最新”
最后一个音符
我敢肯定,您已经(至少尝试)使用svnadmin verify | recover | pack