Creating a new subversion repository with svn+ssh

Published: Friday, 11 June 2010
Last modified: Tuesday, 2 June 2020

How to setup a new subversion repository with unix permissions.

Create the unix user and group that will own the repository

I’ve chosen svnrepo as the user, and svnusers as the group. Users that want to use the repo will need to be added to svnusers.

Set the default group of user svnrepo to svnusers.

Add the svnusers group to any users that need to use the repo.

Create the repository

Switch to the svnrepo user.

Choose a repository root directory, all subversion files will exist inside here.

svnrepo@turtle:~> svnadmin create /home/svnrepo/demo_project

Secure directory using group permissions

Use chmod to change the permissions:

svnrepo@turtle:~/demo_project> chmod g+w db
svnrepo@turtle:~/demo_project> cd db
svnrepo@turtle:~/demo_project/db> chmod g+w rep-cache.db txn-current-lock transactions/ txn-protorevs/ write-lock
svnrepo@turtle:~/demo_project/db> chmod g+w -R revprops/ revs/

Now unix users can access the repo using

svn+ssh://turtle/home/svnrepo/demo_project