问题描述
很少有 SVN 修订版被删除,我们无法从 SVN 存储库中检出完整数据。
我们在 Windows 服务器上使用的是 Visual svn 3.4.6 版本,SVN 数据大小为 900+ GB,并且它有近 90000+ 次修订。
如何找出丢失的修订号并将其替换为空修订以恢复数据。
邮件 id-jinil.raman@excelindia.com Mob-7907186802
解决方法
基本上,如果您没有备份,那您就不走运了:(SVN 不提供任何工具来修复损坏的修订文件。此外,没有 SVN 版本 3.4.6,但我假设您指的是VisualSVN 服务器版本。对于你的问题,我担心它并不重要。
根据损坏情况,您可能可以挽救里面的大部分数据,但这是一项漫长而乏味的工作:
- 找出损坏的修订版
- 尝试在损坏的修订之前或之后签出子文件夹
识别损坏的修订
你应该使用
svnadmin verify <filepath_to_repo>
检查哪些修订被破坏。 svnadmin 将在第一个修订版(从 rev. 0 开始)时中断,该修订版已损坏。然后你需要继续
svnadmin verify --revision <broken_rev +1> <filepath_to_repo>
尝试在损坏的修订之前签出子文件夹
在收集了所有错误修订之后,尝试检查这些损坏修订之前和之间的修订。您可能需要限制到子文件夹才不会遇到任何错误。你应该使用
svn export <url_to_repo>
因为它比创建工作副本更快(无论如何您都无法提交到存储库)