subversion

Why I Decided To Use FSFS Over Berkeley DB With Subversion

I've had enough dealing with permission errors and corrupted database issues in the Subversion repository I use in one of my development servers. Most problems came from using the default Berkeley database as my repository store so I decided to move to FSFS.

Even if the Subversion book has a section explaining how to setup users and permissions and create wrapper scripts to use the correct umask, I didn't feel safe running a repository store that even the Subversion development team perceives as very sensible to interruptions.

Some advantages of FSFS over Berkeley database include:

  • Can be used from a read only mount and doesn't depend on umask settings
  • It's platform independent
  • Repository size is slightly smaller
  • It can be used on network filesystems
  • Quite insensitive to interruptions

So, I've created a new repository specifying FSFS. You just need to add the --fs-type fsfs parameter, like this:

$ svnadmin create --fs-type fsfs /path/to/repos

I'd recommend not wasting your time with Berkeley database for your Subversion setup, just go for FSFS and you'll be cool.

More about Subversion and how I use it on all my web projects coming soon.