首页 » 技术分享 » SVN命令之清理命令(clean up)的功能及使用技巧

SVN命令之清理命令(clean up)的功能及使用技巧

 

在使用SVN进行更新时,或使用IDEA进行SVN的update的时候,可能更新到一半停止了。再次update时提示….clean up ….file locked…

SVN的清理命令clean up

  • 当SVN改变你的工作拷贝(或是.svn中的任何信息),它会尽可能的小心。在进行任何修改操作时,SVN都会把日志记录到日志文件中,然后执行log文件中的命令,并且执行过程中在工作拷贝的相关部分保存一个锁,防止SVN客户端在变更过程中访问工作拷贝。如果SVN的操作中断了(举个例子:进程被杀死了,机器死掉了,IDEA手动停止)

  • 日志文件会保存在硬盘上。通过执行日志文件,SVN可以完成上一次没有完成的操作,你的工作拷贝可以回到一致的状态。

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

二、本地文件锁定,使用“清除”命令
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命令。

转载自原文链接, 如需删除请联系管理员。

原文链接:SVN命令之清理命令(clean up)的功能及使用技巧,转载请注明来源!

0