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”。