本文档尚未完善 - 内容随时可能变更 - 可能不准确地描述 Apache™ Subversion® 软件的任何已发布版本。 收藏此页面或将其推荐给其他人可能不是一个明智的选择。 请访问 https://svnbook.subversion.org.cn/ 以获取此书的稳定版本。
svnsync 是 Subversion 远程仓库镜像工具。 简而言之,它允许您将一个仓库的修订版本重放到另一个仓库中。
在任何镜像场景中,都有两个仓库:源仓库和镜像(或 “接收”)仓库。 源仓库是 svnsync 从中提取修订版本的仓库。 镜像仓库是从源仓库提取的修订版本的目的地。 每个仓库都可以是本地或远程的 - 它们始终仅通过其 URL 来寻址。
svnsync 过程只需要对源仓库的读取权限;它绝不会尝试修改它。 但显然,svnsync 需要对镜像仓库的读写权限。
警告 | |
---|---|
svnsync 对在镜像仓库中进行的但不是作为镜像操作的一部分进行的更改非常敏感。 为了防止这种情况发生,最好让 svnsync 过程成为唯一被允许修改镜像仓库的过程。 |
svnsync 中的选项是全局的,就像它们在 svn 和 svnadmin 中一样。
svnsync 选项
--allow-non-empty
禁用验证(svnsync initialize 默认执行),该验证检查正在初始化的仓库是否为空历史版本。
--config-dir
DIR
指示 Subversion 从指定目录读取配置信息,而不是从默认位置(用户主目录中的 .subversion
)读取。
--config-option
CONFSPEC
为命令持续时间设置运行时配置选项的值。 CONFSPEC
是一个字符串,它指定您要分配的配置选项命名空间、名称和值,格式为 FILE
:SECTION
:OPTION
=[VALUE
]。 在此语法中,FILE
和 SECTION
分别是包含您要更改其值的选项的运行时配置文件(config
或 servers
)及其部分。 OPTION
当然就是选项本身,而 VALUE
是您要分配给选项的值(如果有)。 例如,要暂时禁用 HTTP 协议中压缩的使用,请使用 --config-option=servers:global:http-compression=no
。 您可以在同一个命令中多次使用此选项来更改多个选项值。
--disable-locking
使 svnsync 绕过其自身的独占访问机制,并以其独占访问镜像仓库正在通过其他带外机制得到保证为前提进行操作。
--no-auth-cache
防止在 Subversion 运行时配置目录中缓存身份验证信息(例如,用户名和密码)。
--non-interactive
在身份验证失败或凭据不足的情况下,防止提示输入凭据(例如,用户名或密码)。 如果您在自动化脚本中运行 Subversion,并且让 Subversion 失败比提示输入更多信息更合适,那么这很有用。
--quiet
(-q
)请求客户端在执行操作时仅打印基本信息。
--revision
(-r
) ARG
由 svnsync copy-revprops 使用,指定要对其执行操作的特定修订版本或修订版本范围。
--source-password
PASSWD
指定您要从中同步的 Subversion 服务器的密码。 如果未提供或不正确,Subversion 将在需要时提示您输入此信息。
--source-prop-encoding ARG
指示 svnsync 假设在源仓库中找到的可翻译 Subversion 修订版本属性使用字符编码 ARG
存储,并将它们在复制到镜像仓库时转码为 UTF-8。
--source-username
NAME
指定您要从中同步的 Subversion 服务器的用户名。 如果未提供或不正确,Subversion 将在需要时提示您输入此信息。
--steal-lock
使 svnsync 在必要时窃取它在镜像仓库上使用的锁,以确保独占仓库访问。(此选项仅应在镜像仓库中存在锁并且已知该锁已过期时使用 - 即,当您确定没有其他 svnsync 进程正在访问该仓库时)。
--sync-password
PASSWD
指定您要同步到的 Subversion 服务器的密码。 如果未提供或不正确,Subversion 将在需要时提示您输入此信息。
--sync-username
NAME
指定您要同步到的 Subversion 服务器的用户名。 如果未提供或不正确,Subversion 将在需要时提示您输入此信息。
--trust-server-cert
与 --non-interactive
一起使用,接受任何未知的 SSL 服务器证书,无需提示。