SVN错误:Attempted to lock an already-locked dir

来源:互联网 发布:淘宝首页链接一键生成 编辑:程序博客网 时间:2024/06/06 14:01

出现了这种情况,又提示更新又提示提交的,继续解决问题,最终方法,其实只需要把工作空间里对应目录的.svn文件夹里的lock文件删除就行:

org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked dir
svn: Working copy 'D:\wangbo\album2\WebRoot\pages\shareProduct' locked

"SVN 客户端异常:试图锁定一个已经锁定的目录"

根据提示能够想到,要提交代码的时候,SVN 所做的工作中有一个操作步骤是"锁定",所以才会有"Attempted to lock "这一步,至于"an already-locked dir",就是说当前资源已经是锁定状态了,所以无法再次锁定。按说按照提示"尝试锁定一个已经被锁定的目录",就像"你去把门锁上,其实门就是锁上的",这一命令就没法执行了。应该只要 "release lock"就可以再次进行锁定了。然而并非如此,原因就是:此 lock 非彼 lock !你在右键 SVN 菜单中能找到所有 " [ * ] lock" 命令都是对 SVN 仓库所做的操作,不信你试试,都会让你填操作说明的,说明这是对仓库源有改变(这里的lock是指在代码库中标记为锁定状态,不允许更改);我们这里的锁定只是在一次代码提交阶段暂时性"锁定",等提交操作完成了就取消锁了,是为了保证在提交过程中不被更改(提交代码需要网络通信,如果网络质量不好就比较耗时,你可能在此过程中对正在提交的代码更改),所以只要 cleanup 上次的锁定就可以了。

解决方法:

一、右键选择 Team > Refresh/Cleanup ,再进行提交操作(前提是具备有效的SVN仓库联接)就可以了。

二、还有一种方法就是我自己用的了,直接删除lock文件就可以了(参考我上面的描述)。