svnadmin recover — Bring a repository database back into a consistent state.
Run this command if you get an error indicating that
your repository needs to be recovered. This command applies only to
repositories using the bdb
backend. In addition, if repos/conf/passwd does not exist, it will
create a default passwordfile.
Recover a hung repository:
$ svnadmin recover /var/svn/repos/ Repository lock acquired. Please wait; recovering the repository may take some time... Recovery completed. The latest repos revision is 34.
Recovering the database requires an exclusive lock on the repository. (This is a “database lock”; see the sidebar The Three Meanings of “Lock”.) If another process is accessing the repository, then svnadmin recover will error:
$ svnadmin recover /var/svn/repos svn: Failed to get exclusive repository access; perhaps another process such as httpd, svnserve or svn has it open? $
The --wait
option, however, will cause
svnadmin recover to wait
indefinitely for other processes to disconnect:
$ svnadmin recover /var/svn/repos --wait Waiting on repository lock; perhaps another process has it open? ### time goes by... Repository lock acquired. Please wait; recovering the repository may take some time... Recovery completed. The latest repos revision is 34.