With the recent release of Subversion 1.4 I'm going through the process of updating repositories. I often like to use multiple repositories because Subversion versions the entire repository with each checkin (Atomic commits rule!). When I do that, I group all of the repositories in the same directory. It makes it really easy to configure Apache with the SVNParentPath directive. And if you're using svn+ssh or something like that, then it's just easier to remember where they are.
SVNParentPath Example
With this configuration it's very easy to bring new repositories up because it doesn't require any configuration change in Apache.The one obvious downside to having multiple repositories is managing things like backups and upgrades. You have a lot more to do than just dump and load a single repository. So to help handle that task, I created some simple shell scripts.
Dump All Repositories
This script will dump all of the SVN repositories in a given directory.Recreate/Load All Dump Files
This script will take all of the dump files and create new repositories and then load the dump file into them. This is good for major revision changes such as to 1.4 where they have changed some structures and improved the efficiency of storing binary files for example.Create New Repository Script
This is a handy one I keep around to make it easy to help enforce best practices. This creates a repository and then automatically creates the trunk/ branches/ and tags/ directories.Not that these are incredibly complex shell scripts, but they can do a lot of work while you do other things (like post to your blog). I hope they'll help someone out there.
And just to be warned, if you're doing this on a bunch of big repositories it can take some time!