svn ci 报错 E155037

执行svn ci命令的时候, svn报如下错误

svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted

提示执行svn cleanup,但是仍然报错,如下:

[363] Peter@ssdserver01 verification/UT/ft $ svn cleanup
svn: E155009: Failed to run the WC DB work queue associated with '/home/Peter/proj2024/frontend/trunk/verification/UT/ft', 
work item 31652 (file-install trunk/verification/UT/ft/tc/tc.list 1 0 1 1)
svn: E155017: Can't install '/home/Peter/proj2024/frontend/trunk/verification/UT/ft' from pristine store,because no 
checksum is recorded for this file

知道这个ft 路径的svn 彻底坏了,于是想重新svn up ft ,将ft 重命名为ft_bak, 执行svn up ft还是报E155037

svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted

因此知道必须解决这个问题,才能继续工作了。

于是百度解决办法,查询到需要使用sqlite 删除 之前未成功的任务。

首先查询svn是否有sqlite,在工作目录输入sqlite ,用tab自动补全,发现有sqlite3可用

[364] Peter@ssdserver01 verification/UT $ sqlite 
sqlite3               sqlite3_analyzer

step 1: 执行 sqlite3 wc.db ‘select * from work_queque’
必须去wc.db路径下执行该命令,否则会报如下错误

[365] Peter@ssdserver01 verification/UT $ sqlite3 wc.db 'select * from work_queque'
Error: no such table: work_queue

wc.db在 .svn路径下, .svn 在download项目的路径下,我之前通过svn co::xxxx/frontend 到/home/Peter/proj2024 路径下,于是我就去该路径的frontend 目录查看这个隐藏文件,进入目录后执行命令成功

[370] Peter@ssdserver01 proj2024/frontend $ ls -al
total 16
drwxr-xr-x  4   Peter  ssd   4096  Aug   13  15:58  .
drwxr-xr-x  4   Peter  ssd   4096  Jun    5  17:38  ..
drwxr-xr-x  4   Peter  ssd   4096  Sep    3  17:43  .svn
drwxr-xr-x 23   Peter  ssd   4096  Aug   22  11:05  trunk
[371] Peter@ssdserver01 proj2024/frontend $ cd ./svn/
entries   format   pristine   tmp/   wc.db

[372] Peter@ssdserver01 proj2024/frontend/.svn $ sqlite3 wc.db 'select * from work_queque'
31652|(file-install trunk/verification/UT/ft/tc/tc.list 1 0 1 1)

以上显示信息表示执行成功

如果没有sqlite,可去 官网下载 https://www.sqlite.org/download.html

step2: 执行 sqlite3 wc.db ‘delete from work_queue’
注意delete 后面没有* 号否则会报错

[373] Peter@ssdserver01 proj2024/frontend/.svn $ sqlite3 wc.db 'delete * from work_queque'
Error: near "*": syntax error

[374] Peter@ssdserver01 proj2024/frontend/.svn $ sqlite3 wc.db 'delete from work_queque'
[375] Peter@ssdserver01 proj2024/frontend/.svn $

命令正确执行后没有任何提示,到此就成功啦

然后切回到工作目录进行cleanup

[378] Peter@ssdserver01 verification/UT/ft $ svn cleanup
[379] Peter@ssdserver01 verification/UT/ft $ 

cleanup 成功,即可执行 svn ci , svn up等操作

参考文章:
https://blog.csdn.net/zhoucheng05_13/article/details/81709921
https://zhuanlan.zhihu.com/p/144547925

附上svn st 常见status:

  “A” 增加,   “C” 冲突,    “D” 删除,    “I” 忽略,   “M” 改变,  “R” 替换
  
  “X” 未纳入版本控制的目录,被外部引用的目录所创建
  
  “~” 版本控制下的项目与其它类型的项目重名
  
  “?” 未纳入版本控制, 需要svn add ,svn ci上库
  
  “!” 该项目已遗失(被非 svn 命令删除)或不完整, 即svn 库上有,本地没有。一般都是本地文件被重命名了,svn 找不到。解决办法:将备份文件重命名为和svn上的一致,此时文件状态会变成R,表示被替换,我通过svn ci 本地文件上库来解决不一致问题

参考文章
https://www.cnblogs.com/pingfan1990/p/5122205.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值