将Subversion从一台服务器移动到另一台服务器

时间:2011-12-08 00:32:17

标签: svn tortoisesvn

我使用svnadmin转储将我们的存储库转储到平面文件。我有一个cmd文件贯穿它们。然后我使用另一个cmd文件,首先使用svnadmin create repositoryname在新服务器上创建存储库,然后将平面文件信息加载到其相应的存储库中。所以,它看起来像这样:

  • 服务器1:

    svnadmin dump repository1 --incremental > z:\newserversharedrive\repositories\dumpfile1
    
  • 服务器2:

    svnadmin create repository1
    svnadmin load e:\..\repositories\repository1 < dumpfile1
    

问题是,一旦完成,旧存储库中的svnserve.conf文件就不会被复制到服务器2中。

有没有办法使用svnadmin对此进行编写,以便复制svnserve.conf个文件?

如果没有这个,我将不得不进入每个存储库的conf目录并编辑svnserve.conf文件。

谢谢你, bramoin

1 个答案:

答案 0 :(得分:1)

我问过我们的SVN管理员,他们给了我以下建议:

  • 他们不使用svnserve.conf,而是使用ApacheSVN。
  • 他们认为您将存储库从一台服务器复制到另一台服务器的技术是最先进的。相反,他们使用以下技术:

    Computer A (old server)
    Computer B (new server)
    
    Login on computer B and from there do:
    #svnadmin create repoB
    #ssh -C compA "svnadmin dump /pathA/repoA" | svnadmin load /pathB/repoB --force-uuid
    #scp compA:/path/repoA/conf/svnserve.conf /pathB/repoB/conf/
    
  • 如果您在服务器A上的存储库上进一步工作,则必须执行以下操作:

    #ssh -C compA "svnadmin dump /pathA/repoA --incremental -r oldcopiedRev:oldlastRev"  | svnadmin load /pathB/repoB
    

    然后,您将获得服务器B的缺失修订。

您是否尝试将svnserve.conf文件从一台服务器复制到另一台服务器?我没有找到任何依赖于旧服务器或新服务器的服务器,IP等的信息,因此副本应该可以正常工作。