SVN icons and tools, wc.db learning

This is a previous project; currently disconnected from the server; but there is still an SVN icon;

Let’s learn about icons first;

Green check
    mark When the client file is fully synchronized with the server file, the system will display the above icon;

Yellow exclamation mark
    When there is a conflict between client file and server data, the above icon will appear in the system;

Red exclamation mark
    client file has been modified but not submitted, the above icon will appear in the system

Right-click on this folder, you can see the TortoiseSVN icon;

TortoiseSVN is a free and open source client of the Subversion version control system, which can manage files and directories beyond time; TortoiseSVN is a client tool;

There are two possibilities for why the SVN icon appears; one is that there is a service running, and the service has been monitoring changes in the contents of directories and files, and then changes the icon; after TortoiseSVN is installed, there is no service running;

Look at the .svn folder in the project root directory; it includes some content and a wc.db database; the different icons displayed according to the submission and update may be related to this database;

In addition, this machine is equipped with VisualSVN, this tool contains both server and client; VisualSVN has a service running; but it has nothing to do with the previous icon; there are icons for different situations without VisualSVN; VisualSVN is installed by myself for practice;

VisualSVN includes both the server and the client;

Starting with
    version 1.7 of wc.db TortoiseSVN, the .svn in all directories of the working copy is cancelled. Only one .svn directory is set in the root directory, and the files in the .svn directory are different.
    If the wc.db file is not available, svn update cannot be performed normally. That means that the file wc.db was added after version 1.7, and it is related to local update and submission operations.

Let's take a look at the content of wc.db;

Put sqlite3.exe in the same directory as .svn;
    start cmd to execute sqlite3 .svn/wc.db "select * from work_queue", you will see the record;

It is OK to run sqlite3 .svn/wc.db "select * from work_queue" directly; it is OK to enter the database and then check the content, the work queue list of wc.db of this machine is empty;

Another situation where different icons appear is to use the Windows Shell API; dNet may also encapsulate the Shell API;