Wc.db file dissapearing

Hello Team,

In our project we are doing a checkout from the application using the svnkit , and as you are aware after a successful checkout there will be a .svn folder that will be present which contains the wc.db file . But at some point when we are trying to do the checkin (svn validate) this wc.db is getting deleted automatically and due to this the connection between the svn and local workspace is getting disconnected.

Do you know why this happen? what is the reason this wc.db file getting deleted automatically?

Also can you please list us what are the possibilities that this wc.db can be deleted from work space?

Hello,
may I ask whether you’re using SVNKit programmatically, i.e. using Java API or as an end user of some thrid party software that has SVNKit inside?

What you describe is very strange. The only situation when wc.db is not created is ‘svn export’ operation or its analog in SVNKit. Otherwise, wc.db file should be preserved. If this is not the case, it’s a bug or maybe interference from some external software (e.g. false positive by antivirus).

If you’re using SVNKit API programmatically, it would be nice if you could put a breakpoint to the place where the file gets deleted. If you’re using SVNKit as a part of 3rd party software, I would ask you whether it is open source or not. If it’s open source we could have a look how it uses SVNKit. If it’s not, it would be a good idea to contact its developers to set the break point I was writing above.

I also wonder, whether .svn/ directory remains when wc.db gets deleted. What’s its content if yes?

Hello Dmitry,

Sorry for the late reply. Please find below the details

Our application is developed on top of Eclipse RCP and in that we are using Subversive plugin which uses svnkit as a jar to do the svn related activity like checkout , checkin etc

The wc.db file remains on the .svn folder after the successful checkout. When we are trying to add the data/file in the repository then the wc.db file gets deleted . This is completely random when we try to add the data/file sometimes it is getting deleted and some time it is not deleted . This frequency is not predictable

Regarding your question, " I also wonder, whether .svn/ directory remains when wc.db gets deleted. What’s its content if yes?"
Yes the .svn folder(hidden) remains but the wc.db file get deleted

Thanks,
Jithu

Hello Jithu,
given this information, I have no idea what could have caused wc.db deletion.

May I ask you the following questions:

  • What’s your operating system (Windows/MacOS/Linux)?
  • Are you using antiviral software? If yes, is it possible that this software could consider wc.db file as suspicious and move it away to some its quarantine? If yes, please check for that.

If we exclude “antivirus hypothesis” and the problem happens more or less often, I would recommend you to use Standalone Version of SVNKit for a while (i.e. ‘jsvn’ command line utility) instead of Subversive plugin or any other SVN client based on SVNKit (e.g. Synchro SVN). If when using them, wc.db file still gets deleted, the problem seems to be in SVNKit (if it’s not antivirus to blame). If the problem disappears, the problem could be in Subversive plugin itself. In the latter case I would suggest contacting Subversive plugin developers.

I looked through SVNKit code and it seems there’s no place where wc.db could get deleted, only temp files starting with tejlqs_ prefix or wc.db-journal file could be deleted. So I would be surprised if the problem were in SVNKit itself.

Hello Dmitry,

1-Yes we are using Windows Operating system
2- We have checked with the antivirus team, but they confirmed us that there is no impression of detecting this wc.db file as virus

We would like to know is there any maximum size limit for wc.db file? Because actually we are storing huge amount of data in the svn for that repository. so we are thinking if this could be the problem?

Thanks,
Jithu

I don’t think that wc.db could become large. It contain a list of paths of files and directories and some information about their state (properties, checksums, “in conflict” flag, etc.). Its size depends on the number of files and directories but doens’t depend on the sizes of the files themselves.

I could still recommend you to try a command line version of SVNKit (‘jsvn’) and see if wc.db gets removed after ‘jsvn add’. Or alternatively try any SVNKit-based client like Synchro SVN as I wrote in my previous message.

Also it would be interesting to try native SVN (‘svn’) command line or any native SVN-based client like TortoiseSVN.

There’re 3 possible outcomes:

  • in all cases wc.db gets deleted; then the problem is not in SVNKit but outside of SVNKit;
  • wc.db gets deleted with ‘jsvn’ and/or Synchro SVN but doesn’t get deleted with native ‘svn’ or TortoiseSVN — then the problem could be in SVNKit;
  • wc.db is not deleted neither with ‘jsvn’ nor with native ‘svn’; in this case the problem is in Subversive.

This experiment could help us understand where exactly the problem happens.

Hello Dmitry,

Thanks a lot for the feedback . we will check and update you on this

Thanks,
Jithu