I have a working copy of a repository on a Windows web server. If I update/commit the working copy using TortoiseSVN (1.7.6) or the command line (version 1.7.8) “svn update” on my Windows PC I have no problems.
However if I am on my Linux Subversion server (where the repository lives), accessing the working copy through a CIFS mount, without fail within 10 updates/commit the file .svn/wc.db will have become corrupted. Sometimes it is with the message
svn: E200030: sqlite: database disk image is malformed” and sometimes it is a message like “svn: E155010: Pristine text ‘d9a9a3ee5e6b4b0d35bfef95601890afd80709’ not present
I can clean up the corruption every time it occurs, but clearly I don’t want to keep having to do that – I am struggling to work out the cause of the problem.
My Linux Subversion server is also using version 1.7.8. What could be causing the problem?
It is probably because the internal representation of the files or in the database are slightly [or much] different on a Linux and a Windows machine. Make your own copy on the Linux machine, and commit from that into the central repo, then pull it down on your windows machine.
In general, it’s never a good idea to access the same copy of a version controlled repository from two different machines.
I use SVN for web work, and that’s how I work – I do nearly all my work on a Linux machine, but I do have a repo on my windows laptop.