I have just done a subversion repository upgrade from version 1.4.2 to version 1.5.4.
Its rather simple, just install the new version of the subversion binaries, and run the following command:
svnadmin upgrade <path to repository>
The only problem with running svnadmin upgrade is that it's not guaranteed to make all new features available in the repository, and you will not benefit from any storage engine changes.
So after trying out the svn upgrade, I decided to do a full svn dump/load.
svnadmin dump <path to repository> > <path to file> - will dump the entire repository to stdout+ the file specified, what this means is that if you run on a windows machine, as we do, it will render the machine unsuable for the entire duration of the dump, since for some reason printing to stdout kills a windows machine if its huge amounts of data (our repository is 1.5 gigs).
So I found the nice little switch you can use for dump --quiet, which will dump it to the file, but not stdout. This will make everything work faster, and your machine will not lock up, so do this unless you want pain.
The same goes for svnadmin load - use --quiet otherwise svnadmin will print the dumpfile before creating the repository, resulting in the same pain as the dump.
This was just my insight, use it or don't :)
I will for sure next time I need to upgrade another repository.