如果我试图更新我的subversion repo,它说我必须运行清理。如果我运行清理,它会显示一个文件丢失。(我删除了今天早上在我的家庭电脑上未能提交的文件的MASSIVE目录,但后来我从工作中提交了相同的文件集,现在我的家庭回购崩溃了)。所以,清理的意思是:

Cleanup failed to process blablabla Can't set file blablabla read-write:系统找不到指定的文件。

如果我更新它说:

命令:更新错误:上一个操作尚未完成; 如果它被中断,请运行'cleanup' “清理”命令。完成了!:

我怎么才能把它弄出来呢?


当前回答

我看到过svn的几个问题,包括这个问题,通过删除/创建.svn/tmp目录解决了这个问题。然后执行svn cleanup命令

其他回答

我也遇到过同样的问题,对我有用的是:

复制你的文件夹和文件到另一个地方,比如一个文件夹(我最近换了文件,承诺失败,导致了解决的问题) 检查一个新的工作副本 将更改后的文件从文件夹复制到工作副本并覆盖现有文件。提交/更新现在应该可以工作了

当你的文件打开时,试图运行清理给我带来了问题。当我关闭我的应用程序(Visual studio),我运行清理,它是成功的

根据Sigurd V的回答(你应该先尝试一下),一些较大的代码库有多个'。Svn的文件夹,它不一定是根目录中有锁定任务的文件夹。

如果是这样的话,你必须检查每一个。如果你已经有了SQLite和Powershell,你就可以快速地找到有问题的目录。

要查找哪些文件夹被锁定运行(将路径\替换为\sqlite.exe):

Get-ChildItem -Path。过滤器”。svn' -递归-隐藏| foreach {$toFind = $_。FullName + "\wc.db";gci $查找| foreach {echo $_。FullName;路径\ \ sqlite.exe $ _。select * from work_queue}}。

这给出了一个.svn目录列表,在每个目录下面是当前任务的列表。

如果有任何未完成的任务,每次运行(将路径\替换为\sqlite.exe和路径\替换为\.svn\wc.db):

路径\到\sqlite.exe路径\到\.svn\wc.db "delete from work_queue"

我尝试了这里投票最多的答案和其他一些没有用的答案。我的WORK_QUEUE表是空的,我不能尝试在更高的文件夹清理。有什么工作是以下(这是通过乌龟SVN);

右键单击文件夹 去TortoiseSVN ->清理… 确保“解锁”选项勾选,然后单击“确定”

清理操作现在成功完成,我可以继续。不需要下载sqlite3或其他复杂的解决方案。

运行console svn cleanup已经为我解决了同样的问题。