TortoiseSVN error "Working copy locked" "sqlite: attempt to write a readonly database" - Can this be caused by incorrect permissions?

67,499

Solution 1

Working copies on shares frequently cause problems (including/especially with permissions) - as a result, it is not a recommended configuration. There actually was a bug in quite a few releases of Samba that was triggered by SVN 1.5 or 1.6 which caused a number of issues like this. It can be worked around with a change to the Samba configuration - but this may not resolve all of your issues. Best practice is to not do what you are doing - only operate on WCs locally, not via shares

Solution 2

I got that very error with TortoiseSVN under Windows. Apparently, the .svn folder has a small SQLite database file, which, if you don't have write access to, will cause that error.

As I was using TortoiseSVN through the windows shell (the right-click) menu, to work around it I ran the windows explorer I used to navigate to the folder as administrator and everything worked fine.

Another solution, of course, would be to give write rights to the user you are trying to use TortoiseSVN with.

Solution 3

While not related to tortoise, I just had this error because I ran svn update as root (forgot I was su'd on a Linux box) and got a conflict.

Fixing it was as simple as doing a chown -R user .svn and then chmod ug=rwx on the file wc.db in the .svn folder.

Solution 4

This error can occur if write access is not available for your group to the rep-cache.db file in your repository on the SVN server. You'll need access to the SVN server or get someone who has access.

Search for the rep-cache.db file:

find / | grep rep-cache.db

Go to the db subdirectory under the repository that you are working with and type the following:

chmod g+w rep-cache.db

Typically the group has only read-only access when this error occurs. This will give the group read/write, which should stop the error from occurring.

Solution 5

I got this error, because I moved my repositories to a new server. The main folder was created by root. As a result, there was an inconsistance of rights between restored files and newly created files. chown -R on the main folder solved the problem.

Share:
67,499
Highly Irregular
Author by

Highly Irregular

Am currently focused on WordPress website maintenance, management, security, and development. Experience in database driven web application programming, with interests in Bitcoin & cryptocurrencies, intuitive user experiences, PHP, databases, regular expressions, sustainability, and ethics. May have some availability for contract work; feel free to get in touch. Tokens of appreciation are very welcome if you've appreciated my assistance: BTC 1ExE5rD3n3dvmbSXBDtnLLjgGnPkBmfpk3

Updated on July 30, 2022

Comments

  • Highly Irregular
    Highly Irregular over 1 year

    A working copy of an app is returning the described error when trying to Update.

    Can this error be caused by having insufficient permissions to write to the folder (or some of the files within it)?

    I've tried the "Release Lock" function and Tortoise tells me there are no locks.

    • alroc
      alroc about 11 years
      Yes, that is one possible cause. Where is your working copy located (local disk, network share, etc.)? Are you running an on-access virus scanner and if so, which one? Have you tried the same operation with svn.exe at the command prompt?
    • Highly Irregular
      Highly Irregular about 11 years
      @alroc, it's a remote linux server that I have no shell access to. I can access the web root through Windows as the server runs samba. It's likely I don't have permission, but I wonder if there might be other possibilities such as the working copy being created with an old version of svn, or just corrupt data.
    • alroc
      alroc about 11 years
      Working copies on shares frequently cause problems (including/especially with permissions) - as a result, it is not a recommended configuration. There actually was a bug in quite a few releases of Samba that was triggered by SVN 1.5 or 1.6 which caused a number of issues like this. It can be worked around with a change to the Samba configuration - but this may not resolve all of your issues. Best practice is to not do what you are doing - only operate on WCs locally, not via shares.
    • Highly Irregular
      Highly Irregular about 11 years
      @alroc, if you'd like to quickly put that into an answer, I'll accept it. Thanks!
    • alroc
      alroc about 11 years
      I've made it an answer
    • Vadzim
      Vadzim over 9 years
  • John Mott
    John Mott over 9 years
    I was on Windows Server 2008 on the command line svn and got this message, when I set the privileges it worked.
  • jxmallett
    jxmallett over 9 years
    It seems dangerous (and difficult?) to run windows explorer as administrator. Instead I ran command prompt as administrator, navigated to my repo folder, and ran svn upgrade
  • jxmallett
    jxmallett over 9 years
    Actually, that just let me do the upgrade but all subsequent tortoise commands still fail with sqlite errors. My problem was that I didn't own the folder. To change owners on Windows 8.1: Folder Properties > Security > Advanced > Change Owner
  • Ross
    Ross almost 9 years
    For me to fix this, I needed to explicitly add my local user to the folder security permissions Right-click the folder -> Properties Security -> Edit... Add... Add your user and give "Modify" permissions This needed to be applied to the entire svn path e.g C:/Projects/**myapp/folder/file.txt**
  • RAM237
    RAM237 over 4 years
    I was on Linux, but this saved my life actually. I have checked those .svn directory and suddenly it appeared that most of the files there were owned by different user. Running chown -R <requireduser>:<group> /path/to/workspace/.svn under root finally fixed the issue, HUGE thanks for the note!