3

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

非常感谢

4

2 回答 2

2

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

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

请参阅SVN book 的 Repository Replication 部分中标题为“svnsync Bookkeeping”的框。

于 2010-11-19T13:25:28.740 回答
0

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

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

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

于 2010-11-19T12:44:36.857 回答