如果我尝试更新我的subversion repo,它说我必须运行清理 . 如果我运行清理,它说文件丢失 . (我删除了今天早上从家用电脑上未能提交的MASSIVE文件目录,但后来我从工作中提交了相同的文件集,现在我的家庭仓库已经破产) . 所以,清理说:
清理无法处理blablabla无法设置文件blablabla读写:系统找不到指定的文件 .
如果我更新它说:
命令:更新错误:上一步操作尚未完成;如果被中断则运行'cleanup'错误:请执行'清理'命令 . 完成!:
我如何解开这个?
29 回答
在我的情况下,我有gulp-watch运行导致问题 . 停止后我可以执行清理命令 .
在我关闭Visual Studio并重新尝试CleanUp之后,在我的案例中,你的工作很愉快
从主文件夹中删除svn并将其从elsewere中的另一个可行副本中替换,然后更新 . svn文件夹通常是一个隐藏文件夹 . 因此,请确保在执行上述步骤之前取消隐藏文件夹 .
在使用外部时,我发生了这种情况,其中一个是腐败的 . 我不得不去那个文件夹并进行清理 . 然后清理工作整个工作副本 .
示例:使用外部
^/widgets/foo common/foo-widget
,首先对文件夹common/foo-widget
执行清理 .添加一个已经在SVN中的jar后,我遇到了这个问题,并添加了相同名称的新版本 .
在Eclipse中我尝试了这个
右键单击文件夹>团队>刷新/清理 .
清理,构建和刷新我的应用程序 .
重启Eclipse .
使用上述步骤,我可以进行同步 .
对我有用的解决方法:
剪切你的内容目录并将其复制到另一个文件夹 .
从空文件夹的命令行运行清理 .
将文件复制回原始文件夹中 .
完成,但我无法解释为什么会发生这种情况 . 如果不删除文件,则cleanup命令表示他无法读取/写入这些文件 .
我有同样的问题,对我有用:
将您的文件夹和文件复制到另一个地方,比如文件夹(我最近更改了文件,承诺失败并导致了解决的问题)
查看新的工作副本
将已更改的文件从文件夹复制到工作副本并覆盖现有文件 . 提交/更新现在应该有效
我有一个错误,如“无法更改文件的perms'/Users/Code/UnitTest.cpp':没有这样的文件或目录” . subversion对于不再存在的文件感到困惑 . 我只是做了一些像“echo ABCD >> /Users/Code/UnitTest.cpp”这样的东西来创建文件的副本,然后进行清理 . 有效 .
在我的情况下,尝试从IDE中提交时出现错误 . 当我在资源管理器中使用TortoiseSVN执行相同目录的提交时,操作成功 .
我在这里尝试过最多的投票答案,其他几个也没有用 . 我的
WORK_QUEUE
表是空的,我无法在更高的文件夹中尝试清理 . 以下是什么工作(这是通过Tortoise SVN);右键单击文件夹
转到TortoiseSVN - >清理......
确保勾选
Break Locks
选项,然后单击“确定”清理操作现在成功完成,我可以继续 . 无需下载sqlite3或其他复杂的解决方案 .
在文件打开时尝试运行清理会给我带来麻烦 . 一旦我关闭了我的应用程序(Visual studio),我就清理干净并且成功了
我遇到了同样的问题,在我的情况下,我使用svn龟与我的意思是应用程序 . 在root模式下使用windows的cmd shell我应用svn cleanup然后svn update ....然后你可以回到应用程序模式aand它将完美地工作!
我尝试将.svn文件夹删除到其他位置并将其放回到同一个根文件夹中 . 在我尝试更新SVN之后,它得到了更新 . 我不知道它究竟是如何运作的 .
我有同样的问题,并以某种方式发现我在c:\级别有一个隐藏的.svn文件 . 一旦我删除了这个隐藏文件夹(.svn),一切正常 . 我必须无意中在根驱动器上创建一个工作目录 .
我一直处于类似情况 . 您是否尝试从工作区的根目录运行清理?我知道有时从子目录(问题所在)的清理不起作用,并从工作区的根清理 .
如果仍然失败,因为你已经在某处删除了一个子目录 . 尝试从子目录中删除1级以上(假设不是根目录),并重新尝试更新和清理 .
如果清理尝试在任何级别都没有成功,那么不幸的是,检查一个新的工作副本 .
通常不需要新的结账或复印 .
我刚刚在这个问题的帮助下解决了与错误"previous operation has not finished"有关的类似问题(Link)
似乎svn在处理命令/操作时有时会卡住 . 所有这些操作都存储在.svn文件夹中的数据库文件wc.db中 .
将SQLite下载到我的结帐目录并运行
您可以获得所有待处理操作的列表 . 这些操作是错误所指的“未完成”的操作 .
通过运行
所有旧操作都将从工作队列中删除,并且错误消失 . 不需要新的结账或任何东西
运行控制台
svn cleanup
为我解决了同样的问题 .我刚才有类似的问题 . 运行Process Explorer显示另一个程序(记事本)具有SVN试图删除的文件夹的文件句柄 . 当我关闭记事本时,“清理”能够成功运行 .
当我尝试提交SVN时,我今天解决了这个错误 . 错误是真的,TortoiseSVN无法访问我试图提交的文件 . 在Windows中运行程序“以管理员身份”时已保存此文件 . 这意味着该文件具有管理员访问权限,但不能从我的帐户访问(TortoiseSVN作为交互式用户运行) . 我在我的Windows帐户下获得了指定文件的所有权,之后清理能够继续 .
我也遇到了同样的问题:
1.尝试杀死与svn相关的进程,即TSVNCache.exe和TortoiseProc 2.恢复未版本控制的文件并删除它,我在svn中有 . 3.cleanup使用命令提示符“svn cleanup”
最后当重新启动桌面时它对我有用,所以重启系统对我有用
我最初遇到这个问题,试图用TortoiseSVN登记 . 最初,TortoiseSVN清理和控制台svn清理都失败了与原始海报类似的消息 .
但我的解决方案(意外发现)只是等待几分钟 . 我在想,TSVNCache在办理登机手续时会持有其中一些文件 .
按照以下步骤 .
1)转到无法通过
svn
. (根文件夹或子文件夹)成功清理的目录 .2)在目录中选择
.svn
文件夹,剪切该文件夹并将其粘贴到单独的驱动器或单独的位置(从svn目录中删除)3)现在,返回目录 - 右键单击并选择
TortoiseSVN -->Repo-browser
4)
Checkout
文件夹(它不会执行新的结账) .5)所有项目将再次进行版本控制,它将修复svn的内部问题,问题应该解决 .
在我的例子中,后台Java虚拟机实例正在运行,导致哪个清理成功 .
我从我的开发人员那里获取了.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"
我已经看到
svn
的几个问题,包括这个问题,通过删除/创建一个.svn/tmp
目录来解决 . 然后运行svn cleanup
请点击此链接 . 它完全解决了你的问题 .
转到主目录右键单击 - > Tortoise SVN - >清理
https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-cleanup.html