ITPub博客

首页 > Linux操作系统 > Linux操作系统 > svn dump 失败后的处理

svn dump 失败后的处理

原创 Linux操作系统 作者:kidking2010 时间:2011-12-20 16:27:58 0 删除 编辑
http://blog.sonitech.org/2010/04/15/svn-dump-%E5%A4%B1%E8%B4%A5%E5%90%8E%E7%9A%84%E5%A4%84%E7%90%86/

svn dump 失败后的处理

本文由 svndump 失败而引出:

在 SVN Server 中有一个版本 dump 失败,后来尝试使用 fsfsverify(http://www.szakmeister.net/fsfsverify/)也没有修复成功,与之相关联的版本同样 dump 出错,最后用 svndumpfilter 解决。

思路:
1. 尽可能 export 出受损坏的 Project 的最新版本,或者备份本地最新的代码。(这次坏掉的版本是很早之前的版本,新代码已经与之没有任何关系,只是 dump 校验时失败)
2. 在 dump 时过滤掉坏版本所在的 project,然后重建 SVN Server,load 之前 dump 出的文件。
3. load 后把之前 export 出的 Project 重新 add 进 SVN 库中。

相关的操作:
1. export 出需要的 Project,最新版本号 10000:

svn export -q  -r10000 http://svn.domain.com/svn/projects/applications/project_name

2. dump 并过滤掉与坏掉的 project(参数参考:http://www.subversion.org.cn/svnbook/1.4/svn.reposadmin.maint.html#svn.reposadmin.maint.tk):

svnadmin dump --incremental -r 0:10000 /var/lib/subversion/repositories |svndumpfilter exclude /projects/applications/project_name --preserve-revprops > repositories_0-10000.dump

3. 导入到新的版本库中:
svnadmin load /var/lib/subversion/new_repositories < repositories_0-10000.dump

4. 最后重新将 /projects/applications/project_name add 进 SVN Server 即可。

现在看起来很简单的步骤就可以搞定,但是在处理的时候磕磕绊绊很长时间才解决,开始的时候总想修复坏掉的版本,尝试了很多歪门邪道的办法,甚至去手动修改过 svn revs 中的 md5,无奈 subversion 实在太复杂,只能用这个办法解决,最后感谢 7哥 的提醒,用 svndumpfilter 解决了这个头痛的问题。

tags: , , ,
posted in Unix Linux by Sonic


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23141985/viewspace-713630/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: oracle维护相关
请登录后发表评论 登录
全部评论

注册时间:2011-02-27

  • 博文量
    114
  • 访问量
    333001