SVN clean up失败或是lock等问题解决方案

来源:互联网 发布:蚁群算法的实现 编辑:程序博客网 时间:2024/06/02 05:48

1、clean up 失败

平时使用svn的过程中,有的时候由于自己操作故障或者系统原因,导致svn不能更新,提示cleanup也不能成功,陷入了死循环

原因是;svn的数据库队列原因

1,下载sqlite3.exe,google一下就有了

2.将下载好的文件放到svn的根目录也就是有svn隐藏文件夹的地方,跟这个文件夹同一个目录即可,如果怎么都找不到,记得显示隐藏的文件夹就可以看到了,不会操作的请google

3.控制台找到sqlite3.exe所在位置

3.1执行:sqlite3 .svn/wc.db “select * from work_queue”

 看看是否有列表队列,如果有的话,那这就是问题所在了

3.2执行:sqlite3 .svn/wc.db “delete from work_queue”

3.3 重新查询,执行:sqlite3 .svn/wc.db “select * from work_queue”

经过上述1,2,3步骤,重新执行svn cleanup命令,就一切ok 了

2、lock

3.1执行:sqlite3 .svn/wc.db “select * from wc_lock”

 看看是否有列表队列,如果有的话,那这就是问题所在了

3.2执行:sqlite3 .svn/wc.db “delete from wc_lock”

3.3 重新查询,执行:sqlite3 .svn/wc.db “select * from wc_lock”

经过上述步骤,lock即可解除,就一切ok 了

3、列出Sqlite数据库所有表

Sqlite数据库中的信息存在于一个内置表sqlite_master中,在查询器中可以用
select * from sqlite_master来查看,如果只要列出所有表名的话,则只要一个语句:
select name from sqlite_master where type=’table’ order by name,因为表的列type固定为’table’。

例如查看svn本地wc.db数据库,语句如下:
sqlite3 .svn/wc.db “select name from sqlite_master where type=’table’ order by name”。

原创粉丝点击