当我做svn更新时,我得到这个错误:
工作副本XXXXXXXX锁定请 执行“清理”命令
当我清理的时候,我得到
处理失败 以下路径:XXXXXXXX
我怎样才能跳出这个循环呢?
当我做svn更新时,我得到这个错误:
工作副本XXXXXXXX锁定请 执行“清理”命令
当我清理的时候,我得到
处理失败 以下路径:XXXXXXXX
我怎样才能跳出这个循环呢?
当前回答
我在使用SVN 1.7时遇到了完全相同的问题,上面提到的修复程序都不起作用。
最重要的是,确保备份所有编辑过的内容。
在花了几个小时后(没有重新下载所有内容,因为我的分支的大小超过6gb),我发现在你的分支的.svn文件夹中有一个名为“wc”的db文件。
使用任何db管理器打开db文件(我使用firefox的sqlite管理器插件),并导航到WC_LOCK表。这个表将包含获取的锁的条目。从表中删除记录,你就完成了:)
其他回答
我遇到了这样的问题,“清理”工作,但“更新”将继续失败。有效的解决方案是通过Windows资源管理器删除有问题的文件夹,而不是TortoiseSVN的删除(这将删除标记为提交到存储库的内容,然后我做了一个“签出”,从存储库中“更新”文件夹。
关于O/S删除和SVN删除之间区别的更多信息: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-rename.html
值得注意的是:
当你TortoiseSVN→Delete一个文件时,它会立即从你的工作副本中删除,并在下次提交时在存储库中标记为删除。
And:
如果一个文件是通过资源管理器而不是使用TortoiseSVN上下文菜单删除的,提交对话框会显示这些文件,并允许你在提交之前从版本控制中删除它们。但是,如果您更新了工作副本,Subversion将发现丢失的文件并用存储库中的最新版本替换它。
在我的案例中,我通过手动删除SQLite中的一条记录来解决这个问题”。svn\wc"文件锁记录在WC_LOCK表中。
我用SQLite编辑器打开“WC”文件并执行
delete from WC_LOCK
按照eakkas的注释,您可能还需要从WORK_QUEUE表中删除所有条目。
在解决方案资源管理器中,右键单击项目,在打开的子菜单中单击subversion并选择清理。它会解决问题,就像对我一样。希望它能起作用。
在对项目结构进行更改时,首先可以通过使用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
一种方法是:
将编辑过的项目复制到另一个位置。 删除包含问题路径的文件夹。 通过Subversion更新包含的文件夹。 复制文件或根据需要合并更改。 提交
另一种选择是删除顶级文件夹并再次签出。希望不会发展到那种地步。