我今天遇到了腐败的存储库问题。
svn log给了我“格式错误的文件”错误,即使svnadmin验证说一切正常。
当您的源历史记录消失时,这总是很糟糕,所以我也会发布一个答案,以防它帮助某人。
答案 0 :(得分:3)
备份您的存储库!
注意它能够转储的最新修订版(例如99),下一个版本有错误(例如100)。
如果它包含垃圾或NUL,你可以解决它:
再次运行“svnadmin dump REPOSPATH> nul” - 它应该没有错误地完成
答案 1 :(得分:0)
@laktak的解决方案在大多数情况下都会在道具损坏的情况下工作,而在@ jgifford25指出的实际转速文件时则无效。
一个理想的解决方案是:
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