Today, when a dozen or so class files were submitted in batches, during the code submission process to the SVN server, the computer suddenly got stuck and there was no response, so I decided to shut down and restart the development tools and restart the development tools. Later, I found that the code is still in uncommitted state, and an error was reported when the commit was executed, prompting the need to perform clean up, decisively right-click to execute clean up, and a new error was prompted: “Previous operation has not finished; run’cleanup’ if it was interrupted “After that, I tried to update or submit different directories of the project directory tree, or even delete the project and check it out again. The same problem occurred;
At this time, I checked the information and learned that: local There is an embedded DB (about 10 tables in it) SQLite in the SVN client to save the file types managed in SVN, project structure tree, user operation progress, etc., so we can boldly assume that the above process of submitting code In the SVN client user code submission operation abnormally terminated, resulting in a table in SQLite used to record the user’s operations on project A (addition, deletion, modification, etc.) data too late to change, due to all our subsequent operations for project A , Check project A from this table first to see if there are unfinished operations. If there are unfinished operations, it will prompt “Previous operation has not finished”. Following this idea, if we find this table, and correlate this table Can the problem be solved by deleting the record? Find out by consulting related information:
In a project that uses svn, there will be a .svn folder in the project root directory. After clicking to enter, the structure is as follows:
It is the file wc.db in the red box, it is the SQLite database file, we can open it with SQLite3.exe, and start to solve the above problems:
1. First, we go to https://www. Under sqlite.org/download.html page, find
After downloading and decompressing, you get the following In such a directory, there is a sqlite3.exe in it, we can use the command line to open this file;
2, copy sqlite3.exe to the project root directory, through the wc.db file in the same directory , As follows:
3, through the command Switch to the project root directory and type the sqlite3 wc.db command to view the contents of the wc.db file, and the .table command to view all the tables in wc.db. The WORK_QUEUE table is used to record user operations as follows:
< p>
< p>Command explanation:
sqlite3 wc.db: means using the sqlite3 tool to open the wc.db file, just like you use microsoft office to open a word document
.table: you can think of wc .db is a database file, this file itself is a micro database, the .table command means to view all tables in this micro database
4. Since it is a table, then we can use sql to perform addition, deletion, modification, and check Yes, execute DELETE FROM WORD_QUEUE here; command to execute delete;
After completing the operations at 5 and 4, select the project and perform the clean up operation of svn, and then the SVN project can be used normally;