I'm trying to set up SVN on a CentOS 5 system so that several people can use a repository.
/var/svnrepository.subversion user and group, made that the owner of the repository recursively.subversion group.The problem I'm running into is that when I do a commit, SVN apparently creates a file called db/current and it has my username and group. So say my username is jimbo...
-rwxrwxr-x 1 jimbo jimbo 11 Dec 2 01:09 current
Then after that no one else can check anything out. They get a permission denied error.
There's also a similar issue with a file called db/format.
Can not open file /var/svnrepository/contactdb/trunk/format: Permission denied
Has anyone else seen this? Know of a solution?
All repository access is through ssh.
The weird thing is, I've set up SVN on Linux before and never had this problem. I don't know what I'm doing differently this time.
Note, that usually the setGID is set on Subversions repository directory and their child directories:
drwxr-sr-x svnowner svnusers 4096 2008-11-01 .
by chmod 775 you unset this setGID bit and thats why the problems occurred:
The setGID means: if you create a file, the group will be set to svnusers(in my example), not your primary group.
I bet you do no have the SetGID bit set, do you?
However, it is better to change GID of the folders:
chmod g+s <REPO>/dir
it is best you look into a fresh created repository to match the permissions.
Are you using svnserve or is everyone going through file:/// URI's? Subversion recommends against the second. svnserve -d should be run as a single user.
Here is some documentation on trying to make multiple access methods work.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With