如果我尝试更新我的Subversion仓库,它说我必须运行清理。如果我运行清理,则表明文件丢失。(我删除了今天早上从家用PC提交失败的MASSIVE文件目录,但随后我下班提交了相同的文件集,现在我的主存储库崩溃了)。因此,清理说:
清理无法处理blablabla无法设置文件blablabla读写:系统找不到指定的文件。
如果我更新它说:
命令:更新错误:先前的操作尚未完成;如果被中断,请运行“清理”错误:请执行“清理”命令。完成!:
我该如何解开?
如果我尝试更新我的Subversion仓库,它说我必须运行清理。如果我运行清理,则表明文件丢失。(我删除了今天早上从家用PC提交失败的MASSIVE文件目录,但随后我下班提交了相同的文件集,现在我的主存储库崩溃了)。因此,清理说:
清理无法处理blablabla无法设置文件blablabla读写:系统找不到指定的文件。
如果我更新它说:
命令:更新错误:先前的操作尚未完成;如果被中断,请运行“清理”错误:请执行“清理”命令。完成!:
我该如何解开?
Answers:
我也遇到过类似情况。您是否尝试过从工作空间的根目录运行清理?我知道有时候从子目录(问题出在哪里)进行清理是行不通的,而从工作区的根目录进行清理就行了。
如果仍然失败,则因为您已经删除了某个子目录。尝试从子目录中删除更高一级的目录(假设它不是根目录),然后重试更新和清除。
如果清除尝试在任何级别都没有成功,那么不幸的是答案是签出新的工作副本。
通常不需要新的结帐或复制。
我刚刚在此帮助下解决了与错误“先前的操作尚未完成”有关的类似问题(链接)
似乎svn在处理命令/操作时有时会卡住。所有这些操作都存储在.svn文件夹中的数据库文件wc.db中。
通过将SQLite下载到我的checkout目录并运行
sqlite3.exe .svn/wc.db "select * from work_queue"
您可以获得所有待处理操作的列表。这些操作被错误称为“未完成”。
通过运行
sqlite3.exe .svn/wc.db "delete from work_queue"
所有旧操作都将从工作队列中删除,错误消失了。无需重新结帐或其他任何操作
正在运行的控制台svn cleanup
为我解决了相同的问题。
svn cleanup
与使用Tortoise Explorer插件相比,console命令还将提供更详细的信息,这使它在这种情况下非常有用。
svn cleanup
,谢谢
svn cleanup
,请确保控制台已升高。我最初没有这样做,但我得到了red-write: Access is denied
错误。
添加一个已经在SVN中的jar后,我遇到了这个问题,并添加了具有相同名称的新版本。
在Eclipse中,我尝试了
使用上述步骤,我可以同步。
在打开文件时尝试运行清理给我带来了问题。关闭应用程序(Visual Studio)后,我立即清理并成功
嗨,在我关闭Visual Studio并重试进行清理后,我的情况很好
我还坚持尝试过的相同问题:
1.尝试杀死与svn有关的进程,即TSVNCache.exe和TortoiseProc。2.还原未版本化的文件并删除它们,这是我在svn中拥有的。3.使用命令提示符“ svn cleanup”进行清理
最后,当重新启动桌面时,它对我有用,所以对于系统的重新启动对我来说是有效的
今天,当我尝试提交给SVN时,我解决了该错误。错误是真实的,TortoiseSVN无法访问我尝试提交的文件。在Windows中运行“作为管理员”程序时已保存此文件。这意味着该文件具有管理员访问权限,但没有从我的帐户访问(TortoiseSVN以交互用户身份运行)。我在Windows帐户下获得了所提名文件的所有权,此后便可以继续进行清理了。
请按照以下步骤操作。
1)转到无法成功清理的目录 svn
。(根文件夹或子文件夹)目录。
2)选择 .svn
在目录中文件夹,剪切该文件夹并将其粘贴到单独的驱动器或单独的位置(svn目录之外)
3)现在,返回目录-右键单击并选择 TortoiseSVN -->Repo-browser
4) Checkout
该文件夹(它将不执行全新签出)。
5)您所有的项目将再次进行版本控制,并且将修复svn的内部问题,并应解决问题。
我从开发人员的同伴那里获得了.svn文件夹,并用它替换了我的.svn文件夹。它为我工作。不知道可能会有其他后果!
使用此链接, https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-cleanup.html
我注意到本教程检查了前6个选项。无奈之下,我使用这些复选框尝试了它,令我惊讶的是它确实起作用了。请务必仔细阅读每个功能。查看每个项目的描述,对于我来说,它们似乎很安全,因此其中一个已检查项目似乎已解决了阻止我的任何问题。
当您尝试SVN切换/清理时仍打开文件时,可能会发生这种情况。
我在一个分支中创建了一个新文件,该文件已在另一个应用程序中打开。切换到另一个分支无法删除文件,从而导致切换失败。这也导致svn cleanup
失败,但是在Tortoise SVN UI中未将其显示为原因。
运行svn cleanup
在控制台窗口(在根文件夹)清楚地显示了错误file\location\file.ext: The process cannot access the file because it is being used by another process
关闭所有打开的文件句柄/窗口并运行控制台,svn cleanup
然后可使清理工作正常进行。
长话短说- svn cleanup
在控制台中运行以查看更详细的错误。
除了Sigurd V的答案(您应该首先尝试)之外,一些较大的代码库具有多个“ .svn”文件夹,并且不一定是根目录中具有锁定任务的文件夹。
如果是这种情况,则必须检查每个。如果您已经有了SQLite和Powershell,则可以快速找到有问题的目录。
要查找已锁定的文件夹,请运行(替换path\to\sqlite.exe
):
Get-ChildItem -Path . -Filter '.svn' -Recurse -Hidden | foreach { $toFind = $_.FullName + "\wc.db" ; gci $toFind | foreach { echo $_.FullName ; path\to\sqlite.exe $_.FullName "select * from work_queue" } }
。
这给出了.svn目录的列表,并在每个目录的下面列出了所有当前任务。
如果有未完成的任务,则每次运行(替换path\to\sqlite.exe
和path\to\.svn\wc.db
):
path\to\sqlite.exe path\to\.svn\wc.db "delete from work_queue"
请点击此链接。它可以彻底解决您的问题。
转到主目录,右键单击-> Tortoise SVN->清理
https://tortoisesvn.net/docs/nightly/TortoiseSVN_zh/tsvn-dug-cleanup.html