![]()
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>
- 将下载之后的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)
本文介绍了解决SVN更新和提交冲突的方法,通过清理work_queue表中的操作记录,实现项目的正常更新和提交,避免了删除和重检出项目的高成本解决方案。
7086

被折叠的 条评论
为什么被折叠?



