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

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

当我清理的时候,我得到

处理失败 以下路径:XXXXXXXX

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


当前回答

While doing svn update using tortoise svn, the process got interrupted and stopped complaining the file is in use. Next it asked me to use CleanUp command on the folder. I tried to run CleanUp command but it failed to do so. Then I found a command shell which was using the folder files. So, I closed the command shell and checked if any editor is using the files related to it. We need to close them as well. Again, I tried CleanUp on the folder with options Break locks,revert changes,clear working copy status . The CleanUp went successfully. Then finally able to update my svn folder.

其他回答

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

如果这是你的问题……

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

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

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

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

从那里开始,你可以选择

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

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

一种方法是:

将编辑过的项目复制到另一个位置。 删除包含问题路径的文件夹。 通过Subversion更新包含的文件夹。 复制文件或根据需要合并更改。 提交

另一种选择是删除顶级文件夹并再次签出。希望不会发展到那种地步。

更新目录权限(授予写访问权)也可以解决这个问题。

chmod +w <dir_name>

对我来说,这其实是乌龟的错。Tortoise只是抱怨“不能清理,运行清理”,但是当我运行命令行(svn cleanup)时,它清楚地告诉我它不能删除一些正在使用的文件,解决方案是显而易见的。一旦我关闭Visual Studio(它保持文件打开),那么清理工作就很好了。

其他程序也可以在repo中保持文件打开,从而导致此问题。在另一个例子中,Excel保持xls打开是罪魁祸首,所以关闭所有可能在repo中使用任何东西的程序,甚至重新启动以强制程序关闭,然后再次尝试清理,这可能是明智的。

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

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

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