当我做svn更新时,我得到这个错误:
工作副本XXXXXXXX锁定请 执行“清理”命令
当我清理的时候,我得到
处理失败 以下路径:XXXXXXXX
我怎样才能跳出这个循环呢?
当我做svn更新时,我得到这个错误:
工作副本XXXXXXXX锁定请 执行“清理”命令
当我清理的时候,我得到
处理失败 以下路径:XXXXXXXX
我怎样才能跳出这个循环呢?
当前回答
我也有同样的问题。似乎在最新版本中已经修复了。 我已经将我的Tortoise SVN更新到最新版本(1.7.11),清理工作进行得很好。
您可以在这里下载最新版本:downnoad tortoise svn。
其他回答
我遇到了这样的问题,“清理”工作,但“更新”将继续失败。有效的解决方案是通过Windows资源管理器删除有问题的文件夹,而不是TortoiseSVN的删除(这将删除标记为提交到存储库的内容,然后我做了一个“签出”,从存储库中“更新”文件夹。
关于O/S删除和SVN删除之间区别的更多信息: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-rename.html
值得注意的是:
当你TortoiseSVN→Delete一个文件时,它会立即从你的工作副本中删除,并在下次提交时在存储库中标记为删除。
And:
如果一个文件是通过资源管理器而不是使用TortoiseSVN上下文菜单删除的,提交对话框会显示这些文件,并允许你在提交之前从版本控制中删除它们。但是,如果您更新了工作副本,Subversion将发现丢失的文件并用存储库中的最新版本替换它。
当我遇到这个问题时,我发现直接在问题路径上运行清理命令通常似乎可以工作。然后,我将再次从工作根目录运行清理,它将报错其他目录。我一直重复,直到它不再抱怨。
清理有时并不足以解决这个问题。
如果您使用TortoiseSVN v1.7.2或更高版本,右键单击锁定文件的父目录,并从菜单中选择TortoiseSVN -> Repo Browser。在Repro Browser GUI中右键单击被锁定的文件,将会有一个选项来移除锁定。
如果你在Linux上,试试这个:
find "/the/path/to/your/directory" -name .svn -type d | xargs chmod 0777 -R
然后在该目录上运行清理命令,然后尝试更新。
对我来说,这其实是乌龟的错。Tortoise只是抱怨“不能清理,运行清理”,但是当我运行命令行(svn cleanup)时,它清楚地告诉我它不能删除一些正在使用的文件,解决方案是显而易见的。一旦我关闭Visual Studio(它保持文件打开),那么清理工作就很好了。
其他程序也可以在repo中保持文件打开,从而导致此问题。在另一个例子中,Excel保持xls打开是罪魁祸首,所以关闭所有可能在repo中使用任何东西的程序,甚至重新启动以强制程序关闭,然后再次尝试清理,这可能是明智的。