从Subversion腐败中恢复

时间:2008-11-14 09:56:07

标签: svn recovery corruption

颠覆中出现了问题,现在我正面临

svnadmin: Invalid diff stream: [tgt] insn 0 starts beyond the target view position

如果我尝试从存储库进行转储。我们在这里有另一个问题Subversion Repository Error,但那里的解决方案对我来说还不够好,因为腐败是85次修改。

因为腐败在一个不那么重要的目录中(不在trunk / branches / tags中),我在想两个解决方案:

  1. 从健康部分创建转储,并在将其导入新存储库后从重要目录提交差异(丢失所有修订历史记录)
  2. 从健康部分创建转储并编写一个ruby脚本,该脚本将检查旧存储库中所需目录的每个修订版本。这将创建一个用于修订的diff文件,并将其提交到具有作者姓名和原始注释的新存储库。
  3. 有何评论? :)

    / JaanusSiim

1 个答案:

答案 0 :(得分:2)

如果您确实需要访问您的来源,我建议您发送邮件至users@subversion.tigris.org并提出您的问题。有些用户在阅读该列表时有恢复损坏的存储库的经验。 (在许多情况下,它没有在列表中报告,因为恢复源代码通常需要NDA)

创建可以访问的所有有效修订版的转储文件不会造成损害,并可能有助于恢复。