本篇文档描述了 Subversion 1.6.x 系列。如果您运行的是不同版本的 Subversion,我们强烈建议您访问 https://svnbook.subversion.org.cn/ 并查阅适合您 Subversion 版本的文档。

svnsync — Subversion 仓库镜像

svnsync 是 Subversion 远程仓库镜像工具。简单来说,它允许您将一个仓库的修订版本重放到另一个仓库。

在任何镜像场景中,都有两个仓库:源仓库和镜像(或 接收)仓库。源仓库是 svnsync 从中拉取修订版本的仓库。镜像仓库是拉取自源仓库的修订版本的目的地。每个仓库都可以是本地或远程的——它们始终通过其 URL 访问。

svnsync 进程只需要对源仓库的读访问权限;它永远不会尝试修改它。但显然,svnsync 需要对镜像仓库的读写访问权限。

[Warning] 警告

svnsync 对镜像仓库中未作为镜像操作的一部分进行的更改非常敏感。为了防止这种情况发生,最好让 svnsync 进程成为唯一允许修改镜像仓库的进程。

svnsync 选项

svnsvnadmin 中一样,svnsync 中的选项是全局性的。

--config-dir DIR

指示 Subversion 从指定目录读取配置信息,而不是默认位置(用户主目录中的 .subversion)。

--no-auth-cache

防止在 Subversion 运行时配置目录中缓存身份验证信息(例如用户名和密码)。

--non-interactive

在身份验证失败或凭据不足的情况下,防止提示输入凭据(例如用户名或密码)。如果您在自动化脚本中运行 Subversion,并且让 Subversion 失败比提示更多信息更合适,这将很有用。

--quiet (-q)

请求客户端在执行操作时仅打印基本信息。

--source-password PASSWD

指定您正在同步的 Subversion 服务器的密码。如果没有提供,或者不正确,Subversion 将在需要时提示您输入此信息。

--source-username NAME

指定您正在同步的 Subversion 服务器的用户名。如果没有提供,或者不正确,Subversion 将在需要时提示您输入此信息。

--sync-password PASSWD

指定您正在同步到的 Subversion 服务器的密码。如果没有提供,或者不正确,Subversion 将在需要时提示您输入此信息。

--sync-username NAME

指定您正在同步到的 Subversion 服务器的用户名。如果没有提供,或者不正确,Subversion 将在需要时提示您输入此信息。

--trust-server-cert

--non-interactive 一起使用,接受任何未知的 SSL 服务器证书,无需提示。

svnsync 子命令

以下是 svnsync 程序的各种子命令。