关闭

SVN问题之——org.apache.subversion.javahl.ClientException: Attempted to lock an already-locked dir

标签: android 异常
4376人阅读 评论(0) 收藏 举报
分类:

  一、问题描述

        今天在 Eclipse 中用 SVN 插件提交代码时遇到 org.apache.subversion.javahl.ClientException: Attempted to lock an already-locked dir 的问题,"SVN 客户端异常:试图锁定一个已经锁定的目录",嘛意思啊!报错如下图:

        SVN报错

        详情为:

        org.apache.subversion.javahl.ClientException: Attempted to lock an already-locked dir
        svn: Commit failed (details follow):
        svn: Working copy 'E:\x\xx\src\com\xxx\ui' locked.
        svn: 'E:\x\xx\src\com\xxx\ui' is already locked.

        这是什么错误呢?根据提示能够想到,我要提交代码的时候,SVN 所做的工作中有一个操作步骤是"锁定",所以才会有"Attempted to lock "这一步,至于"an already-locked dir",我忽然想到,昨晚下班我尝试过一次提交代码,但是由于忘记切换网络而作罢(我们 SVN 部署在内网上,而平时可以联外网)。而 SVN 正好在这里有个问题——如果你的环境没有联上有效的 SVN 仓库,那么在提交的时候就会卡在这里,会有一个 Progress 一直在跑但又跑不完,我就是在这种情况下使用资源管理器强制关闭进程,所以今天再提交的时候会"the dir you Attempted to lock has been already-locked"。所以我也可以肯定,SVN 提交代码第一步就是 lock 你要提交代码所在的 dir,(我的经历证明,没有有效的资源库联接,这之后都不能工作)然后才检查资源库代码版本...提交...。

        二、问题处理

        找到原因就好办了。

        一个小插曲(但是对理解很重要):按说按照提示"尝试锁定一个已经被锁定的目录",就像"你去把门锁上,其实门就是锁上的",这一命令就没法执行了。应该只要 "release lock"就可以再次进行锁定了。然而并非如此,原因就是:此 lock 非彼 lock !你在右键 SVN 菜单中能找到所有 " [ * ] lock" 命令都是对 SVN 仓库所做的操作,不信你试试,都会让你填操作说明的,说明这是对仓库源有改变(这里的lock是指在代码库中标记为锁定状态,不允许更改);我们这里的锁定只是在一次代码提交阶段暂时性"举起手来,不许动",等提交操作完成了就取消锁了,是为了保证在提交过程中不被更改(提交代码需要网络通信,如果网络质量不好就比较耗时,你可能在此过程中对正在提交的代码更改),所以我只要 cleanup 上次的锁定就可以了。

        这里提供3中方法:

        (一)Eclipse SVN 插件处理

        使用 SVN 插件时,选中能包含所有待提交代码的最小的包(当然你可以直接选择工程也无可厚非,我只是为了最小影响范围原则而已),右键选择 Team > Refresh/Cleanup ,再进行提交操作(前提是具备有效的SVN仓库联接)就可以了。

        SVN插件操作

        (二)SVN 客户端处理

        (1)如果你安装了SVN客户端(就那个小乌龟),*并不是说要通过客户端操作,只是安装了客户端,右键才有 SVN 子菜单* 打开 workspace 中对应的文件夹,右键 TortoiseSVN > clean up... ,妥了。

        客户端提供的菜单操作

        (2)如果你身具极客风度,也可以使用 svn 命令:svn cleanup ...(操作目标目录路径)

        (三)删除lock文件

        还有网上看到一种方法说是,直接进入到上面的文件夹下的.svn目录,删除lock文件就可以了。(这个方法我没试过,其实是因为笨得根本就没找见 lock 文件)哪位大大用过这种方式,麻烦不吝赐教,程序猿在此谢过

转载:http://blog.csdn.net/a_running_wolf/article/details/50833462

Android学习交流群:523487222

(如果您觉得有用,欢迎加入,一起学习进步)
点击链接加入群【Android学习群】





0
0
查看评论

Subversion代码提交中的org.apache.subversion.javahl.ClientException: svn: E200007: Commit failed异常解决

引言: 在切换subversion服务器地址之后,发生的无法正确提交代码的问题org.apache.subversion.javahl.ClientException: svn: E200007: Commit failed (details follow), 该如何解决呢?
  • blueheart20
  • blueheart20
  • 2015-04-28 20:17
  • 86492

org.tigris.subversion.javahl.ClientException: URL access forbidden for unkno

你的账号权限问题 换其他人账号,或者自己让svn service那边去修改
  • a5489888
  • a5489888
  • 2012-11-29 23:44
  • 8403

SVN问题之——org.apache.subversion.javahl.ClientException: Attempted to lock an already-locked dir

今天在 Eclipse 中用 SVN 插件提交代码时遇到 org.apache.subversion.javahl.ClientException: Attempted to lock an already-locked dir 的问题,"SVN 客户端异常:试图锁定一个已经锁定的目录&q...
  • a_running_wolf
  • a_running_wolf
  • 2016-03-09 10:43
  • 17004

org.apache.subversion.javahl.ClientException: svn: E155021: This client is too old to work with the

org.apache.subversion.javahl.ClientException: svn: E155021: This client is too old to work with the working copy at产生该错误的原因:由于执行的以下操作,所以产生此错误! 升级Tort...
  • testcs_dn
  • testcs_dn
  • 2015-06-11 12:23
  • 34210

org.apache.subversion.javahl.ClientException: 由于目标计算机积极拒绝,无法连接。

今天用eclipse的SVN提交项目到仓库的时候,出现这个问题: 然后折磨了我好久,网上有很多方法都试过了,不行······,然后我发现了这个方法: 一、在cmd中,查看自己的IP地址并记下 二、打开eclipse的W...
  • SmallWalnutBG
  • SmallWalnutBG
  • 2016-07-05 12:45
  • 4589

Svn问题:subversion.javahl.ClientException: Unsupported working copy format svn: This client is t

错误提示:org.apache.subversion.javahl.ClientException: Unsupported working copy format svn: This client is too...
  • m0_37106742
  • m0_37106742
  • 2017-03-31 14:49
  • 1806

svn提交报org.apache.subversion.javahl.ClientException: Filesystem has no item

在进行svn提交的时候报错,显示org.apache.subversion.javahl.ClientException: Filesystem has no item svn: Commit failed (details follow): svn: '/svnroot/!svn/me&#...
  • u012385190
  • u012385190
  • 2016-04-19 18:05
  • 9544

SVN提交代码提示org.apache.subversion.javahl.ClientException: Attempted to lock an already-locked dir解决办法

第一种方法:通过svn插件来清理,首先选中项目,右键,选择team-》refresh/cleanup即可.然后再更新文件就不会提示org.apache.subversion.javahl.ClientException: Attempted to lock an already-locked dir...
  • dreamfly88
  • dreamfly88
  • 2015-12-22 09:57
  • 6599

org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked dir异常解决方法

<br /><br />myeclipse用svn提交的时候报错:<br /> Attempted to lock an already-locked dir<br />svn: Working copy 'D:/Program Fi...
  • chenyanbo
  • chenyanbo
  • 2010-10-14 09:37
  • 13858

org.apache.subversion.javahl.ClientException: Previous operation has not finished

1.问题 eclipse使用SVN出现异常: org.apache.subversion.javahl.ClientException: Previous operation has not finished; run ...
  • cswhale
  • cswhale
  • 2015-08-20 11:30
  • 14971
    个人资料
    • 访问:173085次
    • 积分:2759
    • 等级:
    • 排名:第15377名
    • 原创:64篇
    • 转载:192篇
    • 译文:0篇
    • 评论:32条