代码之家  ›  专栏  ›  技术社区  ›  Chris Wallis

是否可以移动Subversion存储库,但其镜像保持不变?

  •  3
  • Chris Wallis  · 技术社区  · 14 年前

    我试图将一个Subversion存储库移到一个新服务器上,但将其镜像留在原处。我已完成以下操作:

    1. 转储旧回购
    2. 加载转储到新回购
    3. 将新repo的提交后挂钩设置为与现有镜像同步

    钩子:

    #!/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
    

    可以预见,当我尝试从新回购中运行此钩子时,我得到以下信息:

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

    问题是镜像是用旧repo的url初始化的。有人知道这是可以改变,还是我需要重新开始一个新的镜子?

    多谢

    2 回复  |  直到 14 年前
        1
  •  2
  •   user9876    14 年前

    可以使用Subversion编辑镜像存储库版本0的修订属性。即。:

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

    请参见中标题为“SVNSYNC簿记”的框。 Repository Replication section of the SVN book .

        2
  •  0
  •   elprup    14 年前

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

    grep-r“http://oldrepo.url”/回购/db/revprops

    找到它之后,将其修改为新的回购地址,它现在可以工作了。