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

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

当我清理的时候,我得到

处理失败 以下路径:XXXXXXXX

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


当前回答

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

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

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

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

其他回答

不要删除您的解决方案!

在.svn文件夹中有一个名为lock的文件,长度为0字节

您可以从解决方案中的所有.svn文件夹中删除所有这些文件,这样就可以工作了

这对我来说是有效的

应该做到以下几点:

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

我在答案中没有看到这个问题的一个原因是,更新或签出可能已经使用其他用户/权限完成,例如使用$sudo。

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

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

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

我遇到了这样的问题,“清理”工作,但“更新”将继续失败。有效的解决方案是通过Windows资源管理器删除有问题的文件夹,而不是TortoiseSVN的删除(这将删除标记为提交到存储库的内容,然后我做了一个“签出”,从存储库中“更新”文件夹。

关于O/S删除和SVN删除之间区别的更多信息: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-rename.html

值得注意的是:

当你TortoiseSVN→Delete一个文件时,它会立即从你的工作副本中删除,并在下次提交时在存储库中标记为删除。

And:

如果一个文件是通过资源管理器而不是使用TortoiseSVN上下文菜单删除的,提交对话框会显示这些文件,并允许你在提交之前从版本控制中删除它们。但是,如果您更新了工作副本,Subversion将发现丢失的文件并用存储库中的最新版本替换它。