What is the "dump/load cycle" people sometimes talk about when upgrading a Subversion server?

Subversion's repository database schema has changed occasionally during development. Old repositories, created with a pre-1.0 development version of Subversion, may require the following operation when upgrading. If a schema change happens between Subversion releases X and Y, then repository administrators upgrading to Y must do the steps listed.

  1. Shut down svnserve, Apache, and anything else that might be accessing the repository.
  2. Run svnadmin dump /path/to/repositorydumpfile.txt, using version X of svnadmin.
  3. Run mv /path/to/repository /path/to/saved-old-repository.
  4. Upgrade to Subversion Y (i.e., build and install Y, replacing X).
  5. Run svnadmin create /path/to/repository, using version Y of svnadmin.
  6. Run svnadmin load /path/to/repository < dumpfile.txt, again using version Y of svnadmin.
  7. Copy over hook scripts, etc, from the old repository to the new one.
  8. Restart svnserve, Apache, etc.
    See the link for more details on dumping and loading.
    Note:
    Most upgrades of Subversion do not involve a dump and load. When one is required, the release announcement and the CHANGES file for the new version will carry prominent notices about it. If you don't see such a notice, then there has been no schema change, and no dump/load is necessary.
Related information