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

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

当我清理的时候,我得到

处理失败 以下路径:XXXXXXXX

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


当前回答

我遇到这个问题是因为外部文件夹不想被链接到现有文件夹中。如果您添加了一个svn:externals属性行,其中目标是一个现有的(有版本控制的或没有版本控制的)文件夹,您将得到svn Woring Copy locked错误。这里的清理也会告诉你一切正常,但仍然更新不工作。

解决方案:从存储库中删除麻烦的文件夹,并在设置了svn:externals属性的根文件夹中进行更新。这将创建文件夹,一切都将恢复正常。

我遇到这个问题是因为svn:externals for files要求目标文件夹进行版本控制。当我注意到这在不同的存储库中不起作用后,我从外部文件切换到外部文件夹,陷入了这种混乱。

其他回答

SVN通常在从存储库获取实际文件之前更新文件夹中文件的内部结构(. SVN /prop-base)。一旦获取文件,这将被清除。在更新过程中,由于“更新”失败或过早取消,通常会抛出错误。

检查.svn/prop-base目录下列出的文件 删除任何不在文件夹下的文件 清理 更新

现在更新应该可以工作了。

工作中的一位同事经常看到这条消息,对他来说,这是因为他删除了一个在SVN版本控制下的目录,而没有从SVN中删除它,然后在其不受版本控制的位置创建了一个同名的新目录。

如果这是你的问题……

有不同的方法来修复它,这取决于如何/为什么替换目录。

无论哪种方式,你都可能需要:

A)将现有目录重命名为临时名称

B)通过SVN还原恢复从文件系统中删除的目录,但不从SVN中删除

从那里开始,你可以选择

A)将相关文件复制到被删除的目录中

B)如果目录中的内容发生了重大变化,请对原始目录进行SVN删除,提交,并将新目录重命名为所需的名称,然后进行SVN添加以使该目录处于版本控制之下。

如果您在Windows机器上,通过浏览器查看存储库,您可能会看到两个具有相同文件名但使用不同大小写的文件。Subversion是区分大小写的,而Windows不是,所以当Windows认为它正在拉下同一个文件而Subversion没有时,您可以获得一个锁。请删除存储库中重复的文件名,然后重试。

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

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

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

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

我经常遇到这样的问题。我的模式会导致清理问题。

我在查看器中打开图像文件。 我删除图像文件/文件夹。 我正在提交/更新

关闭被删除的文件打开的图像查看器可以解决这个问题。 也许其他软件也能以同样的方式阻止清理。

一般来说。我相信在这种情况下重新启动电脑会有帮助。