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

名称

svnsync 初始化 (init) — 初始化一个镜像仓库,用于从源仓库同步。

概要

svnsync initialize MIRROR_URL SOURCE_URL

描述

svnsync initialize 验证仓库是否满足新镜像仓库的基本要求,并记录将镜像仓库与源仓库(由 SOURCE_URL 指定)关联的初始管理信息。这是您在将要成为镜像仓库的仓库上运行的第一个 svnsync 操作。

通常,SOURCE_URL 是您想要镜像的 Subversion 仓库根目录的 URL。Subversion 1.5 及更高版本允许您使用 svnsync 进行部分仓库镜像,只需将您想要镜像的源仓库子目录的 URL 指定为 SOURCE_URL 即可。

默认情况下,上述镜像的基本要求是它允许修改版本属性,并且不包含任何版本历史记录。但是,从 Subversion 1.7 开始,您现在可以选择使用 --allow-non-empty 选项禁用目标仓库为空的验证。虽然不应习惯性地使用此选项(因为它绕过了宝贵的安全机制),但它确实有助于一个非常常见的用例:将仓库的副本初始化为原始仓库的镜像。当设置包含大量版本历史记录的仓库的新镜像时,这尤其方便。管理员会发现,与其初始化一个全新的仓库作为镜像,然后将所有历史记录同步到其中,不如先复制成熟的仓库(可能使用 svnadmin hotcopy),然后使用 svnsync initialize --allow-non-empty 初始化该副本作为镜像,该镜像现在已经与原始仓库同步。

选项

示例

由于无法修改版本属性,初始化镜像仓库失败。

$ svnsync initialize file:///var/svn/repos-mirror \
                     http://svn.example.com/repos
svnsync: Repository has not been enabled to accept revision propchanges;
ask the administrator to create a pre-revprop-change hook
$

将仓库初始化为镜像,已创建允许所有版本属性更改的 pre-revprop-change 钩子。

$ svnsync initialize file:///var/svn/repos-mirror \
                     http://svn.example.com/repos
Copied properties for revision 0.
$
TortoiseSVN 官方中文版 1.14.7 发布