赞
踩
最近工作中新建了一个svn服务器,使用的同事不多,其中有一个同事在update文件夹之后照其他人少了两个文件。发现之后她直接从repo-browser中 save 了这两个文件,编辑之后commit。
结果直接报错,提示需要clean up。
运行clean up之后会出现如下提示:
解决的思路就是
1,备份svn根路径下的.svn文件夹中的wc.db文件,
2,通过sqlite查看work queue 和 lock 信息
单位网络访问有限制,本来想在csdn查找sqlite的下载链接,发现全部需要资源分,手中拮据,直接在sqlite的官网下载,
下载页面如下:
https://www.sqlite.org/download.html
目前的最新版本:
https://www.sqlite.org/2020/sqlite-tools-win32-x86-3310100.zip
.table命令可以查看数据库中所有的表名。
select命令可以查看表中的数据。
wc_lock表保存的是目前锁定的操作。
work_queue表保存的是目前工作队列中未完成的工作。
3,检查是否有操作被锁定,
一般下面两个命令都会出现lock信息,和要操作的文件。
select * from wc_lock;
select * from work_queue;
4,删除lock信息和queue信息,
delete from wc_lock;
delete from work_queue;
5,把整理后的wc.db文件还原到svn根路径下的.svn文件夹中,
6,重新执行clean up命令,恢复正常。
注:
其实sqlite的语句和sql server ,oracle等的基本语句通用,大家应该很容易操作。
但是要注意语句后面必须要加;,否则的话语句无法执行成功。
如下图所示,select * from work_queue 语句后面没有;,导致显示结果为:...>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。