Here is a list of commands that are used to create a group svn repository on Eniac. This now becomes more or less a routine work for me.

  1. Create a folder to host all the svn repositories: ~$ mkdir svn
  2. Making this folder accessible by ‘others’: ~$ chown a+x svn
  3. If this repository is located in an even deeper folder, you should make the ancestor folders accessible all the way down there.
  4. Make all files you’ll create only accessible by yourself and the group you specified: ~$ umask 007
  5. Create the destination svn repository folder: ~$ mkdir svn/repo
  6. Change the group of this folder to what you want: ~$ chgrp groupname svn/repo
  7. Make whatever newly created files inherit the same permission settings as the parent folder does: ~$ chmod g+s svn/repo
  8. Now create the repository: svnadmin create svn/repo

Now this repository is good to go. Congrats! Here are a few known issues with SVN on Eniac.

  1. The svn provided on Eniac is fairly old (1.4.4). It is recommended to create repositories with this version, and accessing them with 1.4.x versions or higher, but not the other way round. If creating repositories with higher versions, you need the –-pre-1.4-compatible option to have also work for lower versions of SVN.
  2. If you are in more than 16 Linux groups, then you’ll might have problems accessing the files even if group permissions are granted correctly. This is a bug (or feature?) of Linux: being in more groups is possible, but only the first 16 are effective.