Today, I tried updating a Subversion repository on a Windows Server that was mounted via CIFS on a SuSE 12 Linux machine (don’t ask me why I had to do that! 😉 ) and got the following error message:
the_server:/mnt/the_repo # svn update
svn: E200033: Another process is blocking the working copy database, or the underlying
filesystem does not support file locking; if the working copy is on a network filesystem,
make sure file locking has been enabled on the file server
svn: E200033: sqlite[S5]: database is locked
svn: E200042: Additional errors:
svn: E200033: sqlite[S5]: database is locked
As it turns out, the mount option nobrl
was missing (see the man page for mount.cifs):
nobrl: Do not send byte range lock requests to the server. This is necessary for certain applications that break with cifs style mandatory byte range locks (and most cifs servers do not yet support requesting advisory byte range locks).
I changed the corresponding line in /etc/fstab
:
//windows-server/the_repo$ /mnt/the_repo cifs user=user,pass=pass,dom=dom,nobrl 0 0
And the update worked:
the_server:/mnt/the_repo # svn update
Updating '.':
At revision 3548.
Thanks! I’ve been looking for this for 3 weeks after my svn sync stopped working in a linux-to-linux setup.
Thanks man, I’ve lost HOURS looking for this answer! If I ever meet you, I owe you a beer!
Super great, that did the trick for me. I was trying to svn checkout from hyper-v Linux VM into its Windows host via shared folder.