SVN ---文件加锁,执行clean up命令

简介:

一、SVN 中 clean up 的功能


     当Subversion改变你的工作拷贝(或是.svn中的任何信息),它会尽可能的小心,在修改任何事情之前,它把意图写到日志文件中去,然后执行 log文件中的命令,并且执行过程中在工作拷贝的相关部分保存一个锁,防止Subversion客户端在变更过程中访问工作拷贝。如果 Subversion的操作中断了(举个例子:进程被杀死了,机器死掉了),日志文件会保存在硬盘上,通过重新执行日志文件,Subversion可以完成上一次开始的操作,你的工作拷贝可以回到一致的状态。


       这就是svn clean up所作的:它查找工作拷贝中的所有遗留的日志文件,删除进程中工作拷贝的锁。如果Subversion告诉你工作拷贝中的一部分已经“锁定”了,你就需要运行这个命令了。


二、本地文件锁定,使用“清除”命令


    SVN本地更新时,由于一些操作中断,如磁盘空间不够,用户取消等,可能会造成本地文件被锁定的情况。这时候无论你在执行SVN的更新、上传、添加等子命令都会提示“**locked”的错误,如图:


    

    

一般出现这种情况的解决方法:

1、可以使用SVN clean up来清除锁定

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命令。


第4种和第5种方式,未找到相关locked文件 和 log文件,不知道是不是SVN版本的问题。本地文件加锁,“清除命令clean up”很好使。



     本文转自yzy121403725 51CTO博客,原文链接:

http://blog.51cto.com/lookingdream/1838682

,如需转载请自行联系原作者




相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
4月前
|
数据可视化
在使用SVN的过程中,通过哪些执行查看某个文件的修改信息
在使用SVN的过程中,通过哪些执行查看某个文件的修改信息
268 0
|
4月前
|
Apache 项目管理 数据安全/隐私保护
【cpolar】TortoiseSVN如何安装并实现公网提交文件到本地SVN服务器
【cpolar】TortoiseSVN如何安装并实现公网提交文件到本地SVN服务器
49 0
|
7月前
【IDEA用法】IDEA新建文件自动加入SVN,删除文件自动从SVN中删除
【IDEA用法】IDEA新建文件自动加入SVN,删除文件自动从SVN中删除
118 0
|
5月前
|
存储 算法 开发工具
git是什么?git的五个命令,git和svn的区别
git是什么?git的五个命令,git和svn的区别
47 0
SVN 将文件还原到之前的指定版本
SVN 将文件还原到之前的指定版本
1828 1
SVN 将文件还原到之前的指定版本
|
10月前
|
数据安全/隐私保护
svn命令的使用
svn命令的使用
47 0
|
11月前
清空文件夹下的SVN文件BAT脚本
清空文件夹下的SVN文件BAT脚本
90 0
|
6月前
|
Java Linux PHP
svn在linux下的使用(svn命令)
svn在linux下的使用(svn命令)
60 0
|
7月前
IDEA SVN提交设置忽略文件
IDEA SVN提交设置忽略文件
64 0
|
缓存 知识图谱
SVN培训笔记(下拉项目、同步修改、添加文件、修改文件、删除文件、改名文件等)
为了方便新加入团队的员工熟悉团队写作开发。为了将好东西分享给广大网友和初入职场的小白。将SVN内部员工培训文档公开,以方便更多的人,提高知识获取速度,尽快熟悉协同开发。本文档培训员工对于SVN的基本操作,这些操作是开发过程中最常用的操作。
SVN培训笔记(下拉项目、同步修改、添加文件、修改文件、删除文件、改名文件等)