本手册旨在描述 Apache™ Subversion® 的 1.7.x 系列。如果您运行的是其他版本的 Subversion,强烈建议您访问 https://svnbook.subversion.org.cn/ 并查阅适合您 Subversion 版本的手册。

名称

svnadmin recover — 将仓库数据库恢复到一致状态(仅适用于使用 bdb 后端的仓库)。此外,如果 repos/conf/passwd 不存在,它将创建一个默认的密码文件。

概要

svnadmin recover REPOS_PATH

描述

如果您收到指示仓库需要恢复的错误,请运行此命令。

选项

示例

恢复挂起的仓库

$ 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.

恢复数据库需要对仓库进行独占锁定。(这是一个 数据库锁定;请参阅侧边栏 “锁定”的三个含义。)如果另一个进程正在访问仓库,则 svnadmin recover 会报错。

$ svnadmin recover /var/svn/repos
svn: E165000: Failed to get exclusive repository access; perhaps another proce
ss such as httpd, svnserve or svn has it open?
$

但是,--wait 选项将导致 svnadmin recover 无限期地等待其他进程断开连接。

$ 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.