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

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

如果我更新它说:

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

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


当前回答

从主文件夹中删除SVN,并从其他可用的副本中替换它。然后更新。SVN文件夹通常是一个隐藏文件夹。因此,请确保在执行上述步骤之前取消隐藏文件夹。

其他回答

从主文件夹中删除SVN,并从其他可用的副本中替换它。然后更新。SVN文件夹通常是一个隐藏文件夹。因此,请确保在执行上述步骤之前取消隐藏文件夹。

对我有用的变通方法:

剪切目录的内容并将其复制到另一个文件夹。 从命令行对空文件夹运行清理。 将文件复制回原始文件夹。

完成了,但我无法解释为什么会这样。 如果您不删除这些文件,cleanup命令会说他无法读取/写入这些文件。

当您尝试SVN切换/清理时,文件仍然打开时,可能会发生这种情况。

我有一个分支,在那里我创建了一个新文件,我在另一个应用程序中打开了这个文件。切换到另一个分支无法删除文件,导致切换失败。这也导致了svn清理失败,但这在Tortoise svn UI中没有显示为原因。

从控制台窗口(在根文件夹上)运行svn cleanup会清楚地显示错误文件\location\file。ext:该进程无法访问该文件,因为该文件正在被其他进程使用

关闭任何打开的文件句柄/ windows并运行控制台svn清理,然后允许清理工作正确地进行。

长话短说,在控制台中运行svn清理,查看更详细的错误。

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

我也遇到过类似的问题。运行进程资源管理器显示另一个程序(notepad++)具有SVN试图删除的文件夹的文件句柄。当我关闭notepad++时,“清理”能够成功运行。