【开发工具】SVN断网续传、续下解决办法

timg-2

当你处在弱网环境下,经常断网、断线,这时候下载SVN代码是个难题,网上搜到的答案也是众说纷纭,那么我就说一下我的解决办法吧:

在你确认断网导致SVN停止下载之后,直接强行关闭下载中的程序。然后再次打开它,将你下载到一半的工程直接添加到SVN工具如Cornerstone中,无需再次checkout直接update即可。

但是,由于SVN自身的原因,可能会报如下错误:

Previous operation has not finished; run ‘cleanup’ if it was interrupted
The operation could not be completed.

qq20170106-02x

这会导致你对该目录无法操作,也不能cleanup。我发现的原因是,在执行下载或者上传任务过程中,任务会被记录到.svn目录下的名为【wc.db】数据库的【work_queue】,这个也是SVN的一个Bug,他认为当前面的任务没运行结束的时候,无法执行接下来的任务,但是此时你又无法停止前面的任务。

这时候的解决办法是进入工程的根目录,查看是否有在执行中的任务,执行

sqlite3 wc.db "select* from work_queue"

然后删除表中记录的旧的任务,执行

sqlite3 wc.db "delete from work_queue"

接着,再执行cleanup清除根目录,然后就可以接着上次的继续下载了。

如果你们有更好的解决办法,也欢迎回复。