可以移动一个subversion存储库,但它的镜像保持不变吗?

时间:2010-11-18 20:14:50

标签: svn mirroring

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

  1. 转储旧回购
  2. 将转储装入新仓库
  3. 将新repo的post-commit挂钩设置为svnsync到现有镜像
  4. 钩子:

    #!/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初始化的。有谁知道这是否可以改变,还是我需要从头开始用新镜子重新开始?

    非常感谢

2 个答案:

答案 0 :(得分: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”的复选框

答案 1 :(得分:0)

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

  

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

找到后,将其修改为新的仓库地址,现在可以正常工作。