使用 svnadmin hotcopy 进行存储库迁移

使用 svnadmin hotcopy 进行存储库迁移

我需要将大量的存储库迁移到远程服务器,并且想知道是否svnadmin dumpsvnadmin hotcopy适合这项工作的工具。

两台服务器的 SVN 版本相同,但大多数存储库目前存储在 Windows 共享中,而新服务器将基于 Linux。所有存储库目前都使用 FSFS 后端。

SVN 书籍建议使用svnadmin dump/ svnadmin create+svnadmin load进行迁移。我倾向于这种方式,因为:

  1. 这似乎是被广泛推荐的方法
  2. 确保从 Windows 迁移到 Linux 不会出现兼容性问题

然而,这种方法似乎有显著的优点svnadmin hotcopy,即:

  1. 大大降低了代码复杂性(可以用一个命令完成所有操作,而前面提到的替代方案需要几个独立的步骤。
  2. 它要快得多——对于需要迁移 100GB 以上的数据来说,这绝对是一个优势
  3. Hooks 和存储库配置也会被转移

我已经使用工作流程进行了一个快速实验svnadmin hotcopy,它似乎运行良好 - 但我想避免以后可能出现的小边缘情况。

为此,有人可以提供svnadmin hotcopy不应该用于存储库迁移的任何重要原因吗?

答案1

svn dump repo > repo.dump 此外,.dump 文件具有高度可压缩性...建议您在将其移动到新服务器之前将其转换为 tar.gz。

如果您维护一个与当前机器完全克隆的实时备份,热复制将会很有用...如果您正在重建一台新服务器,最好复制钩子并手动设置配置。

  • dump 与版本无关。这意味着导出的副本可供任何版本的 svn 使用。
  • hotcopy 直接复制存储库。它速度很快,但会保留有关底层文件系统等的信息。导入副本的服务器需要是同一版本、具有相同的配置等。

在 freenode irc 上点击 #svn 也许也是值得的...社区非常活跃,提供实用的建议。

相关内容