SVN恢复记录
因磁盘故障,SVN文件出现乱码,无法使用。
重要的是:无备份!!!!!
查询最新版本
cat / /db/current
1111(项目实际情况输出结果)
svnadmin verify svnhomepath
22 (我草~~~~)
svnadmin dump -r0:22 svnhomepath > /xxx/dumps/xxx.dump.0-22
先恢复:
svnadmin create svnproject
svnadmin load svnproject < /xxx/dumps/xxx.dump.0-22
ok,我们已经找回了22个版本,剩下怎么办?
svn文件损坏,但是版本信息其实还有一些:
尝试 svnadmin dump -r24:100 svnhomepath --incremental > /xxx/dumps/xxx.dump.xxx
22 版本可用,说明23损坏,从24开始。
100 是用来试探结尾的。
eg:
dumped version 35
----
....
dumped version 70
error:
此时 执行
svnadmin dump -r35:70 svnhomepath --incremental > /xxx/dumps/xxx.dump.35-70
恢复35-70
svnadmin load svnproject < /xxx/dumps/xxx.dump.35-70
出现
------start 56----
-------commit 56-------
------ start 57 --------------------
file :xxxx path not found
此时登录SVN,通过创建目录和伪造文件,提交至SVN提示信息所在目录或文件。
从57 开始 重新load
eg : svnadmin dump -r57:70 svnhomepath --incremental > /xxx/dumps/xxx.dump.57-70
svnadmin load svnproject < /xxx/dumps/xxx.dump.57-70
如果提示文件已经存在,则备份文件,删除文件,继续恢复,直至最新版本。
此处只能有情提醒:早做备份!!!!