SVN报错:Error Updating changes: svn: E155037

本文介绍了解决SVN更新和提交冲突的方法,通过清理work_queue表中的操作记录,实现项目的正常更新和提交,避免了删除和重检出项目的高成本解决方案。

SVN不能更新了,也不能提交了。网上搜了一下,是因为SVN操作冲突了。按照提示的意思在项目Subversion下面Cleanup了一把,可是没用,这个错还在,依然无法更新提交。

这种情况下,要么删除项目,重新checkout,代价太大。要么用这个方法解决:

SVN的操作信息存放在一个叫做“work queue”的表里,而work queue表存放在本地SVN数据库文件wc.db里面。这属于一种内嵌数据库,一般用sqlite进行轻量级管理,这里提供sqlite绿色版下载链接

  • 创建文件夹 C:\sqlite,并在此文件夹下解压上面两个压缩文件,将得到 sqlite3.def、sqlite3.dll 和 sqlite3.exe 文件。

  • 添加 C:\sqlite 到 PATH 环境变量,最后在命令提示符下,使用 sqlite3 命令,将显示如下结果。

C:\>sqlite3
SQLite version 3.7.15.2 2013-01-09 11:53:05
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>
  1. 将下载之后的sqlite3.exe拷贝到.svn目录下(.svn目录位于项目根目录下,默认是隐藏的)

  1. 在.svn目录下按住shift,右键,选择“在此处打开命令窗口”
  2. 在弹出的黑窗口中输入”sqlite3 wc.db“,打开数据库
  3. 继续输入”.table“,可以看到所有的表名,其中work_queue表就是我们这次要处理的表;
  4. 此时其实可以输入”select *from WORK_QUEUE;”sql语句查看work_queue中所有的操作记录,感兴趣的小伙伴可以研究一下
  5. 直接输入”delete from WORK_QUEUE;“删除所有的操作记录

然后回到IDEA中,选中项目右键,选择Subversion -> 选择Cleanup,就好了(如果没好可以尝试重启IDEA)

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值