用svnsync同步时如果出错

 

用svnsync同步时如果出错

SVN同步时如果出错:
传输文件数据 ..........svnsync: /build/buildd/subversion-1.5.4dfsg1/subversion/libsvn_delta/text_delta.c:609: apply_window: 断言 `window->sview_len == 0 || (window->sview_offset >= ab->sbuf_offset && (window->sview_offset + window->sview_len >= ab->sbuf_offset + ab->sbuf_len))' 失败.
那么,大至是因为硬盘缓存引起,(估计是刚刚提交了大量文件,然后立即关机)
这时可以把原库备份一下,然后再恢复一下就好了,具体如下:
svnadmin dump 仓库文件目录 > 备份文件 (备份)
把原仓库文件目录重命名一下
svnadmin create 仓库文件目录 (建一个新库)
svnadmin load 仓库文件目录 < 备份文件 (恢复备份)
svn propdel svn:sync-lock --revprop -r0 file://同步仓库 (恢复因为错误引起的锁定)

删除原仓库文件目录
但是如果仓库比较大,做这样的一次操作会要很长时间,下次再出现这种情况,可以尝试如下处理方式:
1。从仓库中增量备份当天提交的几个版本。
2。从仓库中删除当天提交的几个版本
3。把增量备份恢复到仓库中

你可能感兴趣的:(SVN)