前言
目前我们这边的内网代码是通过 TortoiseSVN
进行版本管理的,平时用着也挺好的,没碰到什么大问题。
但是,今天碰到了一个比较棘手的问题,在这里做一下记录,以方便自己和有需要的朋友在之后碰到该类问题时有个参考。
现象
具体的错误现象如下图所示:
原因
导致上述现象的步骤如下:
- 从最外层目录点击的更新,由于文件数量巨多,导致长时间处于检查状态;
- 点击了取消更新按钮;
- 取消响应太慢,直接从任务管理器关闭 TortoiseSVN 进程;
经过以上步骤后,再次更新就出现了该现象,不管从哪一级目录更新都是一样的错误。
解决方案
通过查找资料,发现碰到这种现象的人还是蛮多的,但是,现在网上找出来的资料中,绝大部分都是建议使用 sqlite3 进行数据库清理,数据库位于时选择的那个本地目录下的 .svn 文件夹中,名称为 wc.db
注意:.svn 文件夹一般是隐藏文件夹,需要设置显示。
通过一个sqlite可视化工具见wc.db
文件打开,找到 WORK_QUEUE
表;
右键该表,选择“清空”,然后保存 wc.db。
用上面修改过的 wc.db 替换 .svn 下的 同名文件,然后再次执行清理指令,即可解决问题。