I have been having some annoying permission problems with my subversion server. User X would update changes and then user Y would be denied access to the database. Worked out that even though all subversion users were part of the same group and the subversion repository was chowned to the subversion group, if the database created any log files, the log files would be created so that only the user who updated the repository will have write access.

After some searching on Google, this chapter in the subversion manual came up. All I had to do was create a wrapper for the subversion commands and make sure that a sane umask was set before the commands were run and everything is working perfectly. If you are considering running subversion over SSH, make sure that you comply with everything in the checklist.

In case you don’t know, subversion is a great source code management system. It is a lot more powerful than CVS and works really well with large binary files. Couple it with the windows subversion client, TortoiseSVN and its the easiest way to manage your source code.

However Visual Studio 2003 won’t open web applications managed by subversion because of a bug relating to the directory subversion creates called .svn. Visual Studio 2005 has this bug fixed so hopefully it won’t be an issue for much longer.