SVN 本地更新时,由于一些操作中断更新,如磁盘空间不够,用户取消。可能会造成本地文件被锁定的情况,等下次想干点什么的时候就会报错:**locked。
解决方法:
1、可以使用SVN clean up来清除锁定。Windows下要到资源管理器去,eclipse里没有,为什么提到eclipse,因为有时候clean up会失败,还是提示资源锁定,因为eclipse里面占用了,把eclipse关掉再来。
2、如果不是本目录锁定,系统提示上一层目录锁定,需要到上一层或者根目录中清除。更上一层,更上一层,再上一层。
一般到这里都能解决,还没解决的话,网上提到的其他办法:
3.如果在根目录下都无法clean的话,一般采取的方法是另外找一个目录重新CHECKOUT。但有时有时SVN目录下可能有一些自己本地修改的文件,还未提交到SVN服务器,这时重新CHECKOUT需要注意本地文件的备份,并且不要强制覆盖服务器上其它人修改的内容。
4.其实SVN加锁会在.SVN(隐藏文件)中生成一个名字叫lock的文件(无后缀),查找所有的,手工删除。然后再尝试更新,系统可能会提示某个.base文件无法访问。找到它,把相关的文件或其所在的目录删除,重新UPDATE。
5.在相应的目录中,比如我在更新metasploit的“/opt/metasploit3/msf3/lib/active_support/core_ext”这个目录时就遇到了类似的情况,把.SVN子目录里(注意,“.”目录是个隐藏目录,需要选择“文件夹选项”→“查看”→“显示隐藏文件”菜单项)面log文件删除,就可以了。然后继续做svn cleanup命令。