我今天遇到了一个损坏的存储库的问题。
svn log 给了我“格式错误的文件”错误,即使 svnadmin verify 说一切正常。
当您的源历史记录消失时总是很糟糕,所以我也会发布一个答案,以防它帮助某人。
我今天遇到了一个损坏的存储库的问题。
svn log 给了我“格式错误的文件”错误,即使 svnadmin verify 说一切正常。
当您的源历史记录消失时总是很糟糕,所以我也会发布一个答案,以防它帮助某人。
备份您的存储库!
注意它能够转储的最后一个版本(例如 99),下一个版本有错误(例如 100)。
如果它包含垃圾或 NUL,您可以修复它:
再次运行“svnadmin dump REPOSPATH > nul” - 它应该完成且没有错误
@laktak 的解决方案在大多数情况下在道具损坏时有效,但在 @jgifford25 指出的实际 rev 文件时无效。
一个理想的解决方案是:
svnadmin dump /path/to/currentrepo -r 0:99 --incremental > svnbackuptillvalid
svnadmin dump /path/to/currentrepo -r 101:HEAD --incremental > svnbackupafterinvalid
svnadmin create /path/to/newrepo
svnadmin load /path/to/newrepo < svnbackuptillvalid
与团队共享新的 Repo URL 或删除现有的 repo 并使用相同的路径。
此外,您可以添加在无效修订后提交的有效变更集。
svnadmin load /path/to/newrepo < svnbackupafterinvalid