乐趣区

关于svn:TortoiseSVN-执行清理-cleanUp-失败的解决方案

前言

目前咱们这边的内网代码是通过 TortoiseSVN 进行版本治理的,平时用着也挺好的,没碰到什么大问题。

然而,明天碰到了一个比拟辣手的问题,在这里做一下记录,以不便本人和有须要的敌人在之后碰到该类问题时有个参考。

景象

具体的谬误景象如下图所示:

起因

导致上述景象的步骤如下:

  1. 从最外层目录点击的更新,因为文件数量巨多,导致长时间处于查看状态;
  2. 点击了勾销更新按钮;
  3. 勾销响应太慢,间接从工作管理器敞开 TortoiseSVN 过程;

通过以上步骤后,再次更新就呈现了该景象,不论从哪一级目录更新都是一样的谬误。

尝试一

依据谬误景象中的提示信息,手动执行清理操作,后果弹出下图所示的谬误:

不论从哪一级目录开始,都是一样的报错,看来这条路是走不通的,只能另寻他法。

图中报错信息 Failed to run the WC DB work queue associate with xxx 的粗心是:启动与 xxx 相关联的 WC DB 工作队列失败。

尝试二

通过查找材料,发现碰到这种景象的人还是蛮多的,然而,当初网上找进去的材料中,绝大部分都是倡议应用 sqlite3 进行数据库清理,数据库位于时抉择的那个本地目录下的 .svn 文件夹中,名称为 wc.db, 如下图这样的:

.svn 里的内容过后忘了截图了,借用一下网上找到的:

吐槽一下,这个数据库文件名称 wc 让我有了不好的联想。

留神:.svn 文件夹个别是暗藏文件夹,须要设置显示。

所以,我就依据网上的教程,在外网下载了 sqlite3 的安装包,申请了导入内网。

在期待导入的过程中,我忽然想到,能批改数据库文件(.db)的不仅仅只有 sqlite3,我内网机上安装的 Navicat Premium 也是能解析数据库文件的,那为什么不试一下呢?因为之前只用它连贯数据库,一时没反馈过去。

终解

尝试应用 Navicat Premium 关上 wc.db 文件,果然是能够失常解析的。

接下来就是依照图上标进去的步骤:

  1. 找到 WORK_QUEUE 表;
  2. 右键该表,抉择“清空”;
  3. 保留 wc.db

用下面批改过的 wc.db 替换 .svn 下的 同名文件,而后再次执行清理指令。在稍等十几秒后,提示信息变为如下所示:

最初的请理后果如下:

能够看到,最终是清理 SVN 胜利。

总结

通过明天这个事,我的总结如下:

  1. 在 SVN 更新过程中,尽量避免点击勾销更新;
  2. 如果的确点了勾销,那么就要急躁期待 SVN 执行完勾销操作,不要强制敞开 SVN 过程;
  3. 网上的材料个别只适宜用来做参考,且同质化太重大;
  4. 解决明天这个报错的办法必定不止我写的这一种。

~

~ 本文完,感激浏览!

~

学习乏味的常识,结识乏味的敌人,塑造乏味的灵魂!

大家好,我是〖编程三昧〗的作者 隐逸王 ,我的公众号是『编程三昧』,欢送关注,心愿大家多多指教!

退出移动版