1. 错误现象
使用svn执行checkout过程中,由于某些异常操作或不规范的文件命名导致命令执行失败,并弹出提示cleanup。如下(出错时忘记截图保存,此处借用网友的一张图片):
但执行cleanup命令后,又弹出如下弹出(同样借用网友图片)导致svn无法使用。
2. 解决方案
2.1 下载sqlite3.exe
需要清空svn管理数据库中的错误记录,那么就需要数据库操作工具,sqlite3.exe是一个轻量级数据库的操作工具,通过命令执行数据库的增删改查操作。如果你已有类似数据库的管理工具,可以忽略此步骤。
下载路径:http://www.sqlite.org/download.html
(Android开发者,可以直接在sdk/platform-tools目录下有现成的sqlite3.exe文件)
2.2 放置sqlite.exe
将sqlite3.exe放至.svn目录下,可以看到该目录下有wc.db文件,就是我们要操作的数据库文件。
2.3 执行SQL语句
1)运行cmd,并进入.svn目录
2)执行sql命令,清空wc.db下的work_queue和wc_lock两张表
- sqlite3 /wc.db
- delete from work_queue;
- delete from wc_lock;
3)一般情况下,问题即可解决,再次执行svn的cleanup操作。即可正常使用
2.4 文件名包含特殊符号导致的错误解决
除了上述清楚work_queue和wc_lock两张表以外,还需要该数据库下nodes表中错误路径记录。
以文件名中包含“*”号为例:那么需要接着上面的sql后,再执行:
delete from nodes where local_relpath like '%*%';
然后再执行cleanup,问题可彻底解决。
来源:CSDN
作者:vviking
链接:https://blog.csdn.net/vviking/article/details/104917967