在使用TortoiseSVN工具执行Cleanup操作时经常出现Cleanup failed to process the following paths的错误,具体如下图:
网上搜索了一下,找到了解决办法:
TortoiseSVN客户端1.7版以前的加锁文件时一个lock后缀的文件,直接在报错目录的.svn目录下删除即可。
TortoiseSVN客户端1.7版以前(含1.7版本)的加锁信息是一条记录放在报错目录下的.db文件里面,用可以SQLite文件的工具将改文件打开,然后删除那条lock记录即可。
具体是如果你想用SQLite文件可视化工具,可以安装SQLiteExpert Professional工具。安装好SQLiteExpert Professional工具,找到svn目录下的wc.db文件,如下图:
打开wc.db文件,删除wc_lock和work_queue两张表下的所有记录,具体如下图:
如果你想用命令行操作,可以是下载sqlite3.exe 放到 .svn 目录下,启动命令行,敲入命令:
sqlite3.exe wc.db
这时,进到了sqlite的命令行环境,可以操作该数据库了,首先我们输入命令:
.tables
将该数据库中的表都显示出来,我们需要关注的是 wc_lock 和 work_queue,因为关于操作的cleanup和lock的信息是保存在这2个表里。需要的话,可以使用 select *from wc_lock;来查看表中的信息是否为之前操作对应的文件或目录,如果这2张表存在数据那么svn就无法进行后续的操作。
很简单,你只要把这2张表清空即可,命令很简单:
delete from wc_lock;
delete from work_queue;
参考文献: