zoukankan      html  css  js  c++  java
  • 项目文件与 SVN 资源库同步提示错误 Attempted to lock an already-locked dir

    问题描述

    之前为了图方便,在eclipse中直接把三个jsp文件复制到了eclipse中我新建的一个文件夹中,把svn版本号信息也带过来了,然后我又删除了这三个jsp文件,接着先把这三个jsp复制到桌面,然后在从桌面复制到eclipse中我新建的文件夹中,这时是没有svn版本号信息了,但是在"与资源库同步"后提交的时候出现了问题:

    svn报如下错误:

    我尝试在eclipse中删除这个文件夹也删不了,报错:

    接着尝试直接在工作空间的目录里删除这个文件夹,但是还是有问题:

    如图所示,这个红圈中的文件就是我删除的文件,与资源库同步后的结果,这时我去提交或更新还是会报错:Attempted to lock an already-locked dir

    解决问题

    继续实践,后来在网上看到了这个:

    然后我就先把文件恢复成了这个蓝色加号的状态,然后先进行了提交操作,之后虽然蓝色加号消失了,但是在与资源库同步之后还是有问题:

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

    我连同产生的错误日志文件一同干掉了,eclipse中的svn插件终于正常了。

    问题总结

    org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked dir
    svn: Working copy 'D:wangboalbum2WebRootpagesshareProduct' locked

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

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

    解决方法

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

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

  • 相关阅读:
    Linux的文本编辑和文本内容查看命令
    服务器日志查看处理(一)
    MAC 系统java开发环境搭建教程
    git撤销已经push到远端的commit
    Centos7 编译安装 Libmcrypt 库
    curl和wget的区别和使用
    docker 安装vim和yum命令
    docker安装GD扩展
    【docker】为docker下的php容器安装php-redis扩展【编译安装】
    mysql大表优化方案
  • 原文地址:https://www.cnblogs.com/wbxk/p/5753799.html
Copyright © 2011-2022 走看看