Upgrading Subversion server from 1.5.5 to 1.6.5 – dump/upgrade/reload, exact steps?
I’m about to upgrade a SVN server from version 1.5.5 to 1.6.5 – all is fine with the actual upgrade, but I’m a little confused about upgrading the actual repositories.
I’ve read in a few places (here, here), that it’s better to dump and reload the repositories rather than using
svnadmin upgrade. I assume that I should dump, upgrade the server and then load the dumps back in – however, should I clear the old files out of the repository before loading? If so, what’s the best way to do this?
If, before I thoroughly screw up my version control system, someone could give me a quick step-by-step, it would be really helpful!
3 Solutions collect form web for “Upgrading Subversion server from 1.5.5 to 1.6.5 – dump/upgrade/reload, exact steps?”
there is a quick step-by-step in the Subversion FAQ:
- Shut down svnserve, Apache, and anything else that might be accessing the repository.
svnadmin dump /path/to/repository > dumpfile.txt, using version X of svnadmin.
mv /path/to/repository /path/to/saved-old-repository
- Now upgrade to Subversion Y (i.e., build and install Y, replacing X).
svnadmin create /path/to/repository, using version Y of svnadmin.
svnadmin load /path/to/repository < dumpfile.txt, again using version Y of svnadmin.
- Copy over hook scripts, etc, from the old repository to the new one.
- Restart svnserve, Apache, etc.
more details on dumping and loading in the Subversion book. i assume you studied the subversion 1.6 release notes.
No, you do not need to dump/load to upgrade, 1.6 was specifically designed to be an easy upgrade using just
svnadmin upgrade. I’ve done it, it worked, I am happy.
The release notes explicitly say there is no need to dump/load the repo.
I would make a backup anyway (just in case), and then do the recommended upgrade. I’d then pack the repo files (
svadmin pack) to make future backups quicker and SVN perform faster.
If you’re going to do it that way then you probably want to dump, upgrade, delete and recreate the repo then load it back in again.
I can’t say I’ve ever had any issues just using upgrade though, although you may end up with a less optimal repo structure.