Svn错误“以前的操作还没有完成”

时间:2014-03-28 14:14:23

标签: svn tortoisesvn

今天早上我将几个项目提交到svn存储库。在提交操作期间,我的操作系统崩溃,现在所有svn命令(包括清理)都以相同的错误结束。

Previous operation has not finished; run 'cleanup' if it was interrupted
Please execute the 'Cleanup' command."

我没有收到Subversion stuck due to "previous operation has not finished"?等其他错误 并且由于存储库非常大,我不想再像这里建议的那样检查所有内容:Issues with previous operation not finishing

13 个答案:

答案 0 :(得分:52)

实际上只是通过查看here

找到了我的问题的答案

似乎svn陷入了旧操作。 所有这些操作都存储在.svn文件夹中的数据库wc.db中。

SQLite下载到我的结帐目录并运行

sqlite3.exe .svn/wc.db "select * from work_queue"

来自cmd

我得到了所有待处理操作的列表。这些操作是“未完成”的操作 然后运行

sqlite3.exe .svn/wc.db "delete from work_queue"

所有这些待处理的操作都被删除,我可以再次提交。 无需重新结账或其他任何事情

答案 1 :(得分:12)

我尝试了本页中列出的所有解决方案,但我的问题仍然无法解决。

我用另一种方式解决了它。如果有些人仍然没有得到解决方案,试试这个(我使用TortoiseSVN 1.9.5):

  1. 点击"清理......"像往常一样打开清理弹出窗口

  2. 检查"打破锁定"

  3. 点击"确定"按钮执行

答案 2 :(得分:5)

'svn cleanup'为我工作。您可能需要以管理员身份运行它。

答案 3 :(得分:3)

我尝试了Sigurd V的顶级解决方案,但SELECT查询给了我错误。我使用的是SVN 1.9.2和SQLite 3.13.0。

为了澄清,从SQLite网站下载的文件是" sqlite-tools-win32-x86-3130000.zip(1.51 MiB)"

以下是我在软件工具中提供的帮助:

  1. 下载此zip并将sqlite3.exe复制到我的工作副本文件夹
  2. 在cmd行中,连接到此文件夹中的svn数据库:sqlite3.exe .svn/wc.db
  3. 键入命令到SQLite以显示锁定的内容:sqlite> select * from work_queue;
  4. 键入SQLite命令以删除请求:sqlite> delete from work_queue;
  5. 重复步骤3,检查没有锁定。
  6. 现在一切都恢复正常了!
  7. 屏幕截图显示了step3 / 4/5:

    step 3/4/5

答案 4 :(得分:1)

  • 使用存储库中的任何内容关闭所有文件或程序(这将解锁svn以进行清理)

  • 针对您的工作副本运行'svn cleanup'(如果错误,请向我们显示结果)

答案 5 :(得分:1)

打开Tortoise SVN设置。清除“已保存数据”选项卡上的所有数据

答案 6 :(得分:1)

我已经看到很多线程并回答了同样的问题。我最看到的是"运行清理"到目录的顶级。但我已经尝试过了,但我仍然得到了错误。所以我所做的就是解决它完成。

  • 安装sqllite(Windows的32位二进制文​​件)。将exe放在顶级.svn目录所在的文件夹中。

  • sqlite .svn / wc.db“select * from work_queue”;

  • 从work_queue中删除;

执行这三个语句并在此运行清理之后。它将在没有任何哈塞尔的情况下运行。

答案 7 :(得分:0)

我能够通过以下方式解决它。

1)转到无法通过svn。(根文件夹或子文件夹)成功清理的目录。

2)在目录中选择.svn文件夹,剪切该文件夹并将其粘贴到separte驱动器或单独的位置(从svn目录中删除)

3)现在,转到目录 - 右键单击​​并选择TortoiseSVN-> Repository-browser。

4)然后,检查文件夹。 (它不会执行新的结账)

5)所有项目都会再次版本化,它将修复svn的内部问题,问题应该解决。

答案 8 :(得分:0)

确保您的工作目录未在任何IDE中打开。

如果打开,关闭它然后进行svn清理。

答案 9 :(得分:0)

我也遇到了此错误,因此我不想下载sqlite。最后,我通过以下方式解决了这个问题:

  1. 关闭月食。(这很重要,否则,我将无法成功地进行下一步)
  2. 在项目文件夹上,右键单击TortoiseSVN->“清理”->“确定”

然后我可以更新并提交而不会出错!

答案 10 :(得分:0)

如果其他人也遇到此问题,则可以使用以下选项。

转到SVN->清理(GUI),然后选择以下3个选项。

肯定可以。

enter image description here

答案 11 :(得分:-1)

  • 针对您的工作副本运行svn cleanup(如果错误,请向我们显示结果)

  • 使用svn checkout命令检出新的工作副本,并将更改从损坏的wc复制到此。通过新的工作副本再次运行提交。

答案 12 :(得分:-1)

这件事发生在我身上 - 我不想做任何像删除我的.svn文件那样激烈的事情。但是,我的IDE中的svn清理并没有解决问题。

对我有用的是什么:

  1. 关闭IDE(不知道是否需要这个,但这是我迈出的一步)
  2. 打开文件资源管理器
  3. 右键点击您的项目
  4. 选择TortoiseSVN - >清理......
相关问题