Solution for TortoiseSVN + Samba shares permissions problem. "Can't move".

Публикувано / posted 2008-09-25 в категория / in category: Web development
  

I had significant problems with commiting changes to svn repository for my Tangra Framework. Repository was at sourceforge.net. For ages I am using one and the same configuration and just recently I've started to have problems with commits.

Configuration:

Linux server with Debian/GNU linux + Apache + Samba (3.2.0.31-2) + PHP, etc.

Windows XP with Zend Studio, Dreamweaver, TortoiseSVN, etc.

Working copy of the framework is shared as Samba share. Yes, I know that this is not recommended but it is most convenient way -- I am able to edit files directly from my windows PC. 

After upgrade to TortoiseSVN 1.5.* all commits that added new files was showing error like:

"Commit succeeded but…"

"Error: "Error bumping revisions post-commit (details follow):"

"Error: "Can't move" (some files from .svn/props/ to .svn/prob-base/).

After above error I was unable to commit anymore -- svn was stating that I have to execute Clean Up, but when trying to do so -- clean up was failing. I had to delete whole dir that was failing, then to update parent dir in order to obtain clean working copy. That was working solution when just one dir was messed up but when I had multiple dirs with same problem -- I hade to checkout the entire trunk which tooked about 1hour (because sourcefourge svn is slow, project itself is not vary big.)

Solution:

Open your smb.conf and add following line to the options of your share:
delete readonly = yes
Restart samba.
Example:
[tangra]
path = /www/inc/tangra
browsable = yes
public = yes
writable = yes
valid users = ogg
create mask = 0664
directory mask = 0775
force group = webdevelopers
delete readonly = yes
Problems with the commits are caused by file permissions of files in .svn subdirs. They are with perm 444 and by some reason TortoisSVN starting from version 1.5.* was unable to move them (1.4 versions did not had such problem). Some people suggested that this is caused by a bug in Samba (and some stated that upgrading samba to latest version resolved the problem).
I found the solution here: http://www.flashmark.co.uk/blog/?p=5, so all credits go to these guys.
I'm creating this (dulicate) posting just for one reason:
Google to index it with its title which is more easy to find when you use keyphrase like "tortoisesvn samba problem". I've spend more than a day searching with google until I found the solution provided by flashmark…
If you are using working copies on shamba shares next article may be quite useful for you:

11 Responses to “Solution for TortoiseSVN + Samba shares permissions problem. "Can't move".”

  1. Alex says:

    Thanks a lot for article, very useful !!

  2. Thank you! It was driving me crasy to have to cleanup after every time I added a new file to SVN.

  3. Nice one, mate. I also use subversion over samba and this issue was annoying.

  4. Gavin Foster says:

    I had this problem with svn 1.5 on Mac OS X accessing working copy over Samba. The suggested fix worked here too.

  5. koyama says:

    When I read your post, I was sure that this would solve my problem, but it unfortunately didn't. You did point to resources that would solve the problem so thank you very much for that. After 8 hours of messing around with the files, what worked was to add: 'force create mode = 0600'. Here is how my smb.conf looks for the relevant drive:

    [www]
    comment = webserver
    path = /var/www/localhost/htdocs
    valid users = erik
    writable = yes
    public = yes
    create mask = 0664
    force create mode = 0600

    I am using Samba 3.0.28 on Gentoo Linux together with TortoiseSVN 1.6.0 on Windows XP. As I understand the official documentation this is what works for older Samba versions like mine, while your solution works for newer Samba versions except for the latest which apparently don't show the problem.

    Thank you once again for your post.

  6. Martín says:

    Phew! I have been messing around with this problem for hours, and now I got it fixed! I combined the config from the post and the comment from koyama, and now it's working great. Thank you both! :)

  7. Огнян says:

    Yep, it seems that "force create mode" is required for some versions of samba. Few days ago I've updated from samba 3.2.* to 3.3.* and I had to add "force create mode" in order to get working configuration (samba + tortoisesvn)… which is kind of odd -- "create mask" should be sufficient…

  8. Tim says:

    I love you for posting this.

  9. How do you look for information for your blog content?

  10. Огнян says:

    Nothing special, I use google

  11. Thank You Very Much!
    It solved in my case.
    Claudio

Leave a Reply

Внимание: Моля, въведете само ПЪРВИТЕ ТРИ цифри от картинката
Important: Please enter just the first three digits from the image