当我做svn更新时,我得到这个错误:

工作副本XXXXXXXX锁定请 执行“清理”命令

当我清理的时候,我得到

处理失败 以下路径:XXXXXXXX

我怎样才能跳出这个循环呢?


当前回答

查看您的.svn文件夹,其中将有一个名为lock的文件。删除该文件,您将能够更新。每个子目录的.svn目录下可能存在较多的锁文件。它们也需要删除。这可以作为批处理从命令行非常简单地完成,例如。

find . -name 'lock' -exec rm -v {} \;

注意,您正在手动编辑.svn文件夹中的文件。他们被放在那里是有原因的。这个理由可能是错误的,但如果不是的话,你可能会破坏你的本地副本。

来源:http://www.svnforum.org/2017/viewtopic.php?p=6068

其他回答

查克的解决方案对我来说不实用。在我第一次遇到这个问题时,它起作用了,但也给了我很多额外的工作。在第二种情况下,当我在网络外使用我的笔记本电脑时,我改变了文件的负载。我无法想象自己在更改文件后一个文件夹一个文件夹地查看。对乌龟抱着希望,努力工作。看看:

环境是:

Visual Studio 2008 Ankhsvn

过程:

首先我不能承诺,它说我需要清理 第二,我无法清理,在svn - bin中有一个文件夹 我下载了龟的最新版本,尝试和不工作,由于dammed文件夹。 重命名该文件夹,现在我可以更新本地存储库的最新版本。 来了几份文件。 做了承诺并成功了。

如果你在Linux上,试试这个:

find "/the/path/to/your/directory" -name .svn -type d | xargs chmod 0777 -R

然后在该目录上运行清理命令,然后尝试更新。

应该做到以下几点:

SVN status | grep”。L" | sed 's/。*(. *) / \ 1美元/ | awk的{打印长度(1美元),$ 1}”|排序nr | awk的{打印2美元“pushd;SVN清理;Popd "}' | sh

在我的案例中,我通过手动删除SQLite中的一条记录来解决这个问题”。svn\wc"文件锁记录在WC_LOCK表中。

我用SQLite编辑器打开“WC”文件并执行

delete from WC_LOCK

按照eakkas的注释,您可能还需要从WORK_QUEUE表中删除所有条目。

我知道这是一个非常老的帖子,但我坚持认为:

解决这个问题最简单和最安全的方法是删除你隐藏的”。Svn”文件夹并再次检查所有内容。

当你再次检查头部修订时,它修复了svn周围的大多数问题,应该保持局部更改(标记为“冲突”)。