当我做svn更新时,我得到这个错误:
工作副本XXXXXXXX锁定请 执行“清理”命令
当我清理的时候,我得到
处理失败 以下路径:XXXXXXXX
我怎样才能跳出这个循环呢?
当我做svn更新时,我得到这个错误:
工作副本XXXXXXXX锁定请 执行“清理”命令
当我清理的时候,我得到
处理失败 以下路径:XXXXXXXX
我怎样才能跳出这个循环呢?
当前回答
我遇到了这样的问题,“清理”工作,但“更新”将继续失败。有效的解决方案是通过Windows资源管理器删除有问题的文件夹,而不是TortoiseSVN的删除(这将删除标记为提交到存储库的内容,然后我做了一个“签出”,从存储库中“更新”文件夹。
关于O/S删除和SVN删除之间区别的更多信息: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-rename.html
值得注意的是:
当你TortoiseSVN→Delete一个文件时,它会立即从你的工作副本中删除,并在下次提交时在存储库中标记为删除。
And:
如果一个文件是通过资源管理器而不是使用TortoiseSVN上下文菜单删除的,提交对话框会显示这些文件,并允许你在提交之前从版本控制中删除它们。但是,如果您更新了工作副本,Subversion将发现丢失的文件并用存储库中的最新版本替换它。
其他回答
一种方法是:
将编辑过的项目复制到另一个位置。 删除包含问题路径的文件夹。 通过Subversion更新包含的文件夹。 复制文件或根据需要合并更改。 提交
另一种选择是删除顶级文件夹并再次签出。希望不会发展到那种地步。
在我的案例中,我通过手动删除SQLite中的一条记录来解决这个问题”。svn\wc"文件锁记录在WC_LOCK表中。
我用SQLite编辑器打开“WC”文件并执行
delete from WC_LOCK
按照eakkas的注释,您可能还需要从WORK_QUEUE表中删除所有条目。
做清理工作
删除“。svn”文件夹。 在根文件夹中执行svncheckout。 尝试执行清理操作。
这解决了我的问题。
我在TortoiseSVN下有这个错误与我在新项目下创建的新目录有关。我刚刚创建了这个项目,所以这个目录之前不可能存在。我在存储库浏览器中查看,新文件夹确实已经在存储库中,但是TortoiseSVN没有显示它已提交。
为了解决这个问题,因为我刚刚创建了这个文件夹,所以我在存储库中删除了它,然后进行了提交。它运行得很好。
因为我是在Visual Studio之外完成的,所以我必须重新启动Visual Studio,让它重新解决所有问题。
就地撤销文件版本,并将新的签入到相同的位置,为我解决了这个问题。
在TortoiseSVN中,要进行就地版本化,请从文件列表中右拖工作副本的根文件夹到目录树中,并从弹出菜单中选择“SVN Export versioned items here”。TortoiseSVN注意到目标和源是相同的,并建议解除工作副本的版本控制。
在解除版本控制之后,对同一文件夹执行一次新的签出(现在包含所有文件的未版本控制副本)。TortoiseSVN会警告你,你正在签入一个现有的文件夹,但你可以继续。
在此之后,清理、更新和其他操作工作顺利进行。由于上述两个步骤都保留了本地修改,因此不应该有任何信息丢失(但在此之前备份工作副本可能是一个好主意)。
警告:如果工作副本包含混合版本或未提交的属性更改,则该信息将丢失。对我来说,这种情况并不常见,如果要在损坏的工作副本或丢失未提交的属性更改之间做出选择,我倾向于选择后者。