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

Svn 将Subversion从一台服务器移动到另一台服务器,svn,tortoisesvn,Svn,Tortoisesvn,我使用svnadmin转储将存储库转储为平面文件。我有一个cmd文件,可以在所有这些文件中运行。然后,我使用了另一个cmd文件,该文件首先使用svnadmin create repositoryname在新服务器上创建存储库,然后将平面文件信息加载到相应的存储库中。所以,看起来是这样的: 服务器1: svnadmin dump repository1 --incremental > z:\newserversharedrive\repositories\dumpfile1 服务器2:

我使用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
    
    svnadmin创建存储1
    svnadmin load e:\..\repositories\repository1
问题是,一旦完成此操作,旧存储库中的
svnserve.conf
文件就不会被复制到服务器2中

有没有一种方法可以使用
svnadmin
编写脚本,这样
svnserve.conf
文件也会被复制

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

谢谢,,
bramoin

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

  • 他们使用
    svnserve.conf
    not,而是使用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。。。这是一个很好的答案,问这个问题的人是在Windows上运行的(请注意
cmd文件和对
e:\..\repositories\repository1
)的引用。)嗯,你说得对。我会让它留下,也许它对其他人有用。