【问题标题】:Can a subversion repository be moved, but its mirror remain the same?可以移动 subversion 存储库,但其镜像保持不变?
【发布时间】:2011-05-12 06:32:20
【问题描述】:

我正在尝试将 subversion 存储库移动到新服务器,但将其镜像保留在原处。我做了以下事情:

  1. 转储旧仓库
  2. 将转储加载到新存储库中
  3. 设置新 repo 的 post-commit 挂钩以 svnsync 到现有镜像

钩子:

#!/bin/sh

svnsync --non-interactive sync https://mirror.example.com:443/svn/iaw \
--sync-username svnsyncuser --sync-password svnsyncpass \
--source-username svnsyncuser --source-password svnsyncpass &

exit 0

可以预见的是,当我尝试从新的 repo 运行这个钩子时,我会得到以下信息:

svnsync:“http://oldrepo.url/svn/iaw”的选项:无法解析主机名“oldrepo.url”:找不到主机(http://oldrepo.url)

问题是镜像是用旧仓库的 url 初始化的。有谁知道这是否可以更改,还是我需要从头开始使用新镜像?

非常感谢

【问题讨论】:

    标签: svn mirroring


    【解决方案1】:

    你所有的镜像 svn 同步信息都存储在 /repo/db/revprops 目录中。 在目录中,可以看到如下文件:0,1,2,

    grep -R "http://oldrepo.url" /repo/db/revprops

    找到后,修改为新的repo地址,即可使用。

    【讨论】:

    • 你不应该直接编辑 revprop 文件。相反,请使用 SVN 命令来执行此操作。
    【解决方案2】:

    您可以使用 Subversion 在镜像存储库的 rev 0 上编辑修订属性。即:

    svn propset --revprop -r0 svn:sync-from-url http://newrepo.url/svn/iaw \
        https://mirror.example.com:443/svn/iaw
    

    请参阅Repository Replication section of the SVN book 中标题为“svnsync Bookkeeping”的框。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-16
      • 2013-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-14
      相关资源
      最近更新 更多