Subversion is generally running stable, but I noticed that every once in a while the repository would "corrupt". The source of the problem, actually, was that even though the db directory's group sticky bit was set (which sets the file's group to that of the directory it is in), some of the log files ended up being owned by the user that last commited to the repository. It didn't make sense because I am using wrapper scripts for svn and svnadmin already. This just started happening more often recently, too.

Then I narrowed it down to TortoiseSVN. Everytime I commited to the dev-tools directory, which contains development related source files (custom fonts, and Photoshop's .psd, and Fireworks' .png files, documentation, power point presentations, etc.) from a Windows workstation chances are it would change ownership of one of the BDB log files. Once a different user tried to access the repository, things got ugly.

I still couldn't put my finger on it, though. During login the umask is set to exactly what Subversion needs, and svn and svnadmin are using wrapper scripts. After a while it dawned on me: svnserve didn't have a wrapper script. With this little oversignt corrected, everything's been rock-solid for a while now.

This post has no comment. Add your own.

Post a comment