svn clearup 失败后的解决办法

最近工作中新建了一个svn服务器,使用的同事不多,其中有一个同事在update文件夹之后照其他人少了两个文件。发现之后她直接从repo-browser中 save 了这两个文件,编辑之后commit。

结果直接报错,提示需要clean up。

运行clean up之后会出现如下提示:

Can't install '*' from pristine store, because no checksum is recorded for this file。

解决的思路就是

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 语句后面没有;,导致显示结果为:...>

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值