在使用SVN做更新代码的时候,有时会碰到无法更新的情况,一般会提示如下的信息,说是:
Working copy 'E:\mySVNDirectory' locked
Please execute the 'Cleanup' command.
按上面的意思是说你只要Clearnup一下就可以再更新了,但是很多时候,当你再点cleanup的时候,它会再提示你已经被锁定,无法更新。
原因有可能是:
1. 有文件正在更新或上传,该文件夹被锁定。
2. 更新或上传的时候动作没有完成,导致本地存在锁定状态没有释放。
3. 更新的项目在被使用。
这里说下我遇到的情况,我要更新的这个项目(全是实体类),被其他项目依赖,我是在idea里打的jar包,然后直接把target里的jar包复制到其他项目的lib里使用,别的同事提交了新的类,我去更新这个项目,其他项目都在跑着的,然后就莫名报需要clean up了,但是点clean up却被锁住了,去查看.svn文件夹下也没有lock文件,然后我直接在.svn文件夹下打开cmd,输入 svn cleanup,然后就报更新的项目被什么什么项目在使用。然后把所有依赖的项目关了后,执行clean up,成功了。
这里就想说一个字:”神坑“
解决方法是:
1. 对于上面的第1种情况,等待你所做的操作完成。
2. 对于第2种情况,把对应的文件来里的.svn里面的lock文件删除。
3. 如果没有找到lock文件,就有可能是第三种情况了。解决方案是关掉项目后,执行clean up。
后面来几张图: