Issue with svnsync



我正在设置SVN镜像,并按顺序执行以下步骤:

  1. 创建的存储库
  2. 从主存储库加载转储到镜像
  3. 安装挂钩脚本
  4. 试过svnsync synchronize destination source

但是我在最后一步遇到了错误:

svnsync:目标存储库尚未初始化

我应该在存储库创建后运行svnsync initialize但我错过了它。现在,根据 svnsync 命令,在初始化之前我无法同步,但我无法初始化,因为我已经提交了修订。

我唯一的选择是从头开始并遵循正确的步骤顺序,但这很耗时,因为我必须在镜像中加载 200 000+ 修订版。

有解决问题的方法吗?

您可以使用选项"--allow-non-empty"(至少从SVN 1.7开始)

svnsync initialize dest source --allow-non-empty

但是,目标的所有提交都应该在源代码中(如果源中有更多提交没关系,它们将在您第一次执行"同步"时同步)。

另一种方法是使用干净的备份存储库启动同步,然后停止它并将转储复制到顶部。控制同步的信息存储在修订版/修订版 0 中。在复制转储之前和之后查看它,您将能够手动更新它。这有点黑客,但它很简单。您需要相应地更改上次更新的修订版本号,否则它将尝试同步所有修订版。

最新更新