SVN Clearnup

2020-01-16  本文已影响0人  Koelre

代码提交、更新时出现问题:svn previous operation has not finished;run cleanup if it was interrupted

百度后,大多数的方法是:

 team--> Refresh/Cleanup

可能是频繁做了一些改名,文件打开的时候更新或者提交操作,导致 svn 罢工了。这个也该算是 svn 的 bug 吧。类似的情况,其实之前也碰到过。之前都是图省事,把整个 svn checkout 的主目录都删掉,重新 checkout 来解决的。但是随着项目的深入开展,要更新的文件越来越多。这个问题迟早要解决的,试试看吧。问题的关键看来需要找到死锁的地方,解锁才行。网上查了下资料。Svn 的 operation 是存放在 “work queue“ 里的。而 “work queue’ 是在内嵌数据库 wc.db 的 work_queue 表中的。看看 work_queue 表中放了些什么,再做处理。

解决方法:清空 svn 的队列

1、内嵌数据库一般是用 sqlite 进行轻量级管理的。网上可以下到 sqlite3.exe( 点击下载)
2、 找到你项目的.svn文件,查看是否存在wc.db
3、为了方便命令行执行,将 sqlite3.exe 放到 svn 项目的主目录下,和 .svn 目录同级下。
4、找到本地存放 svn 项目的目录,将 sqlite3.exe 复制到该项目根目录下(与 .svn 目录同级)
5、可能 .svn 在项目中这个文件被隐藏了,直接复制进 svn 项目即可。
6、打开 wc.db 文件,删除 wc_lock 和 work_queue 两张表下的所有记录(即清空数据表)
7、最后再试一下,看是否可以 clean up了,此时应该是可以执行成功了。

可能会遇到的问题:
clearnup failed to process the following paths
打开wc.db文件,删除wc_lock和work_queue两张表下的所有记录

参考:
https://blog.csdn.net/java_wdl/article/details/79385401
https://blog.csdn.net/clever101/article/details/50349909

记录学习,侵删。

上一篇下一篇

猜你喜欢

热点阅读