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

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

当我清理的时候,我得到

处理失败 以下路径:XXXXXXXX

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


当前回答

我也有同样的问题。似乎在最新版本中已经修复了。 我已经将我的Tortoise SVN更新到最新版本(1.7.11),清理工作进行得很好。

您可以在这里下载最新版本:downnoad tortoise svn。

其他回答

同样的问题,因为我导出了一个版本控制文件夹下的文件夹。必须从TortoiseSVN中删除文件夹,然后从文件系统中删除文件夹(TortoiseSVN不喜欢未版本化的子文件夹…为什么不呢? ?)

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

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

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

在对项目结构进行更改时,首先可以通过使用svn copy和svn move etc命令来避免这类问题。请记住,svn只检查已经添加到subversion的文件中的更改,而不检查物理目录结构的更改。请参阅http://svnbook.red-bean.com/en/1.7/svn.tour.cycle.html

此外,在提交更改时,svn首先在todo列表中存储更改的“摘要”。在执行此todo列表中的svn操作时,它会锁定该文件,以防止在执行这些svn操作时发生其他更改。如果svn的操作中途中断,比如崩溃,文件将保持锁定状态,直到svn完成todo列表中的操作。可以使用svn cleanup命令“重新激活”。请参阅http://svnbook.red-bean.com/en/1.7/svn.tour.cleanup.html

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

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

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

对我来说,以上的方法都没用。 我通过砸锁找到了解决办法。 当我执行svn清理时,我选择了“打破锁”和“清理工作副本状态”。