錯誤描述
在Android Studio中點擊VCS向下箭頭使用SVN Update功能更新代碼的時候,報錯如下所示:

錯誤描述信息:
Error:svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted
如錯誤描述提示我Cleanup,於是我嘗試 VCS -> Cleanup Project進行Cleanup操作

可是我Cleanup失敗,失敗提示如下所示:

錯誤描述信息:
Error:Error performing cleanup for 'D:\BBK_SVN\I3_Trunk': svn: E155009: Failed to run the WC DB work queue associated with 'D:\BBK_SVN\I3_Trunk', work item 3685 (file-install sync/maven_pom.properties 1 0 1 1) svn: E720005: Can't move 'D:\BBK_SVN\I3_Trunk\.svn\tmp\svn-F2531208' to 'D:\BBK_SVN\I3_Trunk\sync\maven_pom.properties': �ܾ����ʡ�
我以為是Android Studio的CVS插件出問題了,於是進入到項目地址用TortoiseSVN( 小烏龜)去直接操作。


好吧,一樣還是不能解決此問題。只能去google如何解決此問題了。
解決方法
步驟一、清空svn的隊列
1、進入到項目的.svn目錄中,查看是否存在wc.db文件
C:\Users\Administrator>D: D:\>cd D:\BBK_SVN\I3_Trunk D:\BBK_SVN\I3_Trunk>cd .svn D:\BBK_SVN\I3_Trunk\.svn>dir Volume in drive D has no label. Volume Serial Number is 0005-0E52 Directory of D:\BBK_SVN\I3_Trunk\.svn 2016/10/24 15:21 3 entries 2016/10/24 15:21 3 format 2016/10/24 15:22 <DIR> pristine 2016/11/08 14:56 <DIR> tmp 2016/11/08 14:56 2,846,720 wc.db 2016/11/08 14:56 0 wc.db-journal 4 File(s) 2,846,726 bytes 2 Dir(s) 55,646,486,528 bytes free
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20

2、執行sqlite3命令查看wc.db數據庫的內容
C:\Users\Administrator>D: D:\>cd D:\BBK_SVN\I3_Trunk D:\BBK_SVN\I3_Trunk>sqlite3 .svn/wc.db "select * from work_queue" 3685|(file-install sync/maven_pom.properties 1 0 1 1) 3686|(file-install sync/src/main/aidl/com/xtc/sync/IConnectionService.aidl 1 0 1 1) 3687|(file-install sync/src/main/aidl/com/xtc/sync/IReadDataCallback.aidl 1 0 1 1)

通過sqlite3命令可以看到wc.db中的work_queue表中有多條數據。
3、清空work_queue表數據,然后查看是否清楚完畢
D:\BBK_SVN\I3_Trunk>sqlite3 .svn/wc.db "select * from work_queue" 3685|(file-install sync/maven_pom.properties 1 0 1 1) 3686|(file-install sync/src/main/aidl/com/xtc/sync/IConnectionService.aidl 1 0 1 1) 3687|(file-install sync/src/main/aidl/com/xtc/sync/IReadDataCallback.aidl 1 0 1 1) D:\BBK_SVN\I3_Trunk>sqlite3 .svn/wc.db "delete from work_queue" D:\BBK_SVN\I3_Trunk>sqlite3 .svn/wc.db "select * from work_queue"

上面的所有命令如下所示:
Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\Users\Administrator>D: D:\>cd D:\BBK_SVN\I3_Trunk D:\BBK_SVN\I3_Trunk>sqlite3 .svn/wc.db "select * from work_queue" 3685|(file-install sync/maven_pom.properties 1 0 1 1) 3686|(file-install sync/src/main/aidl/com/xtc/sync/IConnectionService.aidl 1 0 1 1) 3687|(file-install sync/src/main/aidl/com/xtc/sync/IReadDataCallback.aidl 1 0 1 1) D:\BBK_SVN\I3_Trunk>sqlite3 .svn/wc.db "delete from work_queue" D:\BBK_SVN\I3_Trunk>sqlite3 .svn/wc.db "select * from work_queue" D:\BBK_SVN\I3_Trunk>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17

4、清空wc_lock表數據
有時候只是清空work_queue表數據不行,還得清空wc_lock表數據,才能cleanup成功
D:\BBK_SVN\I3_Trunk\.svn>sqlite3 wc.db "delete from wc_lock"

步驟二、運行 Cleanup命令
再運行 Cleanup命令之后,彈出如下所示的界面,則可以正常的進行Cleanup操作了。


或者直接在Android Studio里 VCS -> Cleanup Project進行Cleanup操作。

步驟三、運行 SVN Update命令
成功Cleanup之后在運行SVN Update即可更新成功,如下所示:
或者在Android Studio中點擊向下的箭頭 進行 Update操作

更新成功后的提示:

作者:歐陽鵬 歡迎轉載,與人分享是進步的源泉!
轉載請保留原文地址:http://blog.csdn.net/ouyang_peng/article/details/53027992