Subversion

=Creating Repositories =

The online book http://svnbook.red-bean.com/en/1.6/ has good directions for subversion. This is the edition of the book for the version of Subversion that we currently use.

Log into the SVN server as bw-admin@svn.cs.stolaf.edu with the bw-admin password. Our repositories are located in /var/www/svn/. In ~bw-admin/, there is currently a symbolic link to it named svn. To create a new repository, cd to one of the subdirectories of that svn/ directory. Then run  svnadmin create  to create the repository, which uses the default fsfs data store like all the other repositories. Then run  chown -R www-data:www-data   to allow modifications to be made to it. (www-data is the Apache user, so if the apache user has a different name, use that instead.)

To give users svn access to that repository, add in the svnaccess file in the folder whether the repository is located:

[repository-name:/] @admin = rw perlis = rw

(for example) to grant read and write access to the repository for the admin group and perlis user, where “perlis” is as St. Olaf user name. The groups are established with a group section along the following lines:

[group] admin = perlis, wilkes, hamming managers = minsky, mccarthy, dijkstra

The svnaccess files are described at the Path-Based Authorization page of the above book. Simply listing a St. Olaf user means that he or she has access: a user does not have to be explicitly added.

Each subdirectory of the /var/www/svn/ has its own svnaccess and svnpasswd files. The svnpasswd file basically contains nothing because LDAP is used. The svnaccess file contains the access permissions for all of the repositories in each of the folders as described above. This system is specified by the Apache configuration.