【问题标题】:Moving a Subversion repository to another server将 Subversion 存储库移动到另一台服务器
【发布时间】:2010-09-26 12:31:14
【问题描述】:

我有一个服务器来托管我的 Subversion 代码库。该服务器当前是 Windows Server 2003 框,我的 IT 管理员希望将其更新为 Windows Server 2008

这意味着我需要在构建服务器时移动我的 Subversion 存储库,并且想知道将存储库移动到新服务器的最佳实践是什么。

看来,网上看,推荐的方法是使用:

svnadmin dump /path/to/repository > repository-name.dmp

然后使用:

svnadmin create repository-name
svnadmin load repository-name< repository-name.dmp

导入存储库。

上面的方法看起来是不是最好的方法?

【问题讨论】:

  • 我就是这样做的。 . .
  • 这是“推荐的方式”,那么您为什么怀疑这是一个好方法呢?无论如何,“最好”是什么意思?
  • 您在寻找更短的版本吗?

标签: svn backup restore


【解决方案1】:

如果您使用的是文件系统类型的存储库,您可以直接获取包含存储库的文件夹并移动它。如果您正在更改服务器,那么您可能需要使用“重新定位”命令更改本地工作目录查找存储库的位置。

【讨论】:

    【解决方案2】:

    是的,转储和加载存储库是一种方法。当且仅当您确定在复制过程正在进行时没有人会访问存储库时,直接复制存储库文件夹是一个可行的选择(或者您可以对存储库进行“热复制”,这可以处理这些情况以安全的方式)。

    您还需要重新签出所有工作副本,或使用 svn switch 命令,该命令仅重写 URL。更方便的方法是使用 TortoiseSVN 的 Relocate 命令,这样可以降低重定位过程中出错的风险。

    【讨论】:

    • 谢谢,实际上,重新定位应该很好,因为它要移动到的服务器将与它当前所在的服务器 IP 相同。
    • 谢谢,因为我没有正确设置我的 SVNServe 根目录,所以我在直接复制方面有点挣扎,但是一旦我这样做了,直接复制似乎效果很好。谢谢。
    【解决方案3】:

    我的恢复脚本是这样的:

    svnadmin create repository-name --fs-type fsfs
    svnadmin load   repository-name --force-uuid < repository-name.dmp
    

    第一行确保存储库使用FSFS 后端(许多来源都推荐使用它,包括这个:How FSFS is Better,AFAIK 较新版本的 Subversion 使用它作为默认值)。 FSFS 是 Subversion 文件系统实现的名称。

    第二行保留存储库的 UUID,以便于转换(没有--force-uuid 开关,工作副本重定位将失败)。

    一些链接:

    【讨论】:

      【解决方案4】:

      您也可以使用svnsync 移动存储库;这样您就可以传输所有数据,而无需关闭“旧”存储库。这也是我所知道的从托管环境中获取数据的唯一方法,在这些环境中您没有 shell 访问权限或转储存储库的权限。

      【讨论】:

        【解决方案5】:

        另一种选择:

        使用 svnrdump。 http://www.crowbarsolutions.com/backing-up-restoring-a-remote-svn-repository/

        “您将需要一个名为 svnrdump 的工具。正如 Apache 所描述的,“svnrdump 复制了 svnadmin dump 和 svnadmin load 的功能,但适用于远程存储库,而不需要管理员(本地文件系统)访问源或目标存储库。”

        【讨论】:

          【解决方案6】:

          最简单的方法是使用:

          svnadmin hotcopy path/to/your_current_directory /path/to/your_destination_directory
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多