Prior to Berkeley DB 4.3, svnadmin recover worked to upgrade a Berkeley DB repository
in-place. However, due to a change in the behavior of Berkeley DB in version 4.3, this now
fails. Use this procedure to upgrade your repository in-place to Berkeley DB 4.3 or
later:
- Make sure no process is accessing the repository (stop Apache, svnserve, restrict
access via file://, svnlook, svnadmin, etc.)
- Using an older svnadmin binary (that is, linked to an older Berkeley DB):
- Recover the repository: svnadmin recover
/path/to/repository.
- Make a backup of the repository.
- Delete all unused log files. You can see them by running svnadmin
list-unused-dblogs /path/to/repository
- Delete the shared-memory files. These are files in the repository's db/
directory, of the form db.00*
The repository is now usable by Berkeley DB 4.3.