如何搞定SVN目录的cleanup问题和lock问题
今天上午在使用TortoiseSVN的时候碰到一个问题,就是操作时由于粗心大意,在更新的过程中点击取消,使得该目录出现cleanup的操作提示。
然后按照提示进行cleanup操作后,又提示目录被lock
然后上网各种搜索,弄了一个小时才解决,所以在这里记录一下(因为不是第一次遇到这个问题了,以前都是直接把文件删除再重新从SVN检出,不过有一有二这次又第三次出了同样的问题,所以就不能再犯懒了,万一还有第四次QAQ)
现在说一下我的解决方法:
1、下载安装sqlite
下载地址:http://www.sqlite.org/download.html
然后解压缩到D:\Program Files\sqlite文件夹
配置环境变量path后面加上D:\Program Files\sqlite(注意,如果环境变量path后面没有分号“;”,就在原来的环境变量path后面加上“;D:\Program Files\sqlite”)。PS:如果不会配置环境变量path,自行百度
2、将sqlite3.exe放到.svn目录下
在SVN目录下找到 .svn 隐藏目录,一般是在项目的根目录下。
然后把D:\Program Files\sqlite文件夹下面的sqlite3.exe放到.svn目录下
3、启动命令行
win+R,然后输入cmd,点击确定;
然后依次输入以下命令(前两条命令是进入到.svn目录下,此处就不写了,不会写的参考下面的图片);
sqlite3.exe wc.db 进入到sqlite的命令行环境,可以操作该数据库了;
.tables 将该数据库中的表都显示出来,我们需要关注的是wc_lock和work_queue,因为关于操作的cleanup和lock的信息是保存在这两个表里;
select * from wc_lock 查看表中的信息是否为之前操作对应的文件或目录,如果这两张表存在数据那么svn就无法进行后续的操作;
解决方案:
很简单,你只要把这2张表清空即可,命令很简单:
delete from wc_lock;
delete from work_queue;
PS:参考链接
http://blog.csdn.net/luochao_tj/article/details/46358145
http://www.cnblogs.com/xcsn/p/6050878.html