Cleanup错误:database is locked解决

手册/FAQ (793) 2016-04-20 09:30:38

 

在使用toiseSVN工具执行Cleanup操作时经常出现Cleanup failed to process the following paths的错误,具体如下图:

 

     网上搜索了一下,找到了解决办法:

    toiseSVN客户端1.7版以前的加锁文件时一个lock后缀的文件,直接在报错目录的.svn目录下删除即可。

toiseSVN客户端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;

 

THE END