今天提交代码的时候突然发现IDEA的SVN面板Version Control下面多出来这么一句话:
SVN报错
顿时心里咯噔一下,这肯定不是好事啊。果然,SVN不能更新了,也不能提交了。网上搜了一下,是因为SVN操作冲突了。按照提示的意思在项目Subversion下面Cleanup了一把,可是没用,这个错还在,依然无法更新提交。
这种情况下,要么删除项目,重新checkout,代价太大。要么用这个方法解决:
SVN的操作信息存放在一个叫做“work queue”的表里,而work queue表存放在本地SVN数据库文件wc.db里面。这属于一种内嵌数据库,一般用sqlite进行轻量级管理,这里提供sqlite绿色版下载链接
将下载之后的sqlite3.exe拷贝到.svn目录下(.svn目录位于项目根目录下,默认是隐藏的)
在.svn目录下按住shift,右键,选择“在此处打开命令窗口”
在弹出的黑窗口中输入”sqlite3 wc.db“,打开数据库
继续输入”.table“,可以看到所有的表名,其中work_queue表就是我们这次要处理的表;
此时其实可以输入”select * from work_queue”sql语句查看work_queue中所有的操作记录,感兴趣的小伙伴可以研究一下
直接输入”delete from work_queue“删除所有的操作记录
然后回到IDEA中,选中项目右键,选择Subversion -> 选择Cleanup,就好了(如果没好可以尝试重启IDEA)
这是今天项目中遇到的问题,不是什么大难题,但是记录一下,以后再遇到的话方便排查。
网友评论