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
//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.