Svn 将Subversion从一台服务器移动到另一台服务器
我使用svnadmin转储将存储库转储为平面文件。我有一个cmd文件,可以在所有这些文件中运行。然后,我使用了另一个cmd文件,该文件首先使用svnadmin create repositoryname在新服务器上创建存储库,然后将平面文件信息加载到相应的存储库中。所以,看起来是这样的:Svn 将Subversion从一台服务器移动到另一台服务器,svn,tortoisesvn,Svn,Tortoisesvn,我使用svnadmin转储将存储库转储为平面文件。我有一个cmd文件,可以在所有这些文件中运行。然后,我使用了另一个cmd文件,该文件首先使用svnadmin create repositoryname在新服务器上创建存储库,然后将平面文件信息加载到相应的存储库中。所以,看起来是这样的: 服务器1: svnadmin dump repository1 --incremental > z:\newserversharedrive\repositories\dumpfile1 服务器2:
- 服务器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管理员,他们给了我以下建议:
- 他们使用
not,而是使用ApacheSVNsvnserve.conf
- 他们不认为将存储库从一台服务器复制到另一台服务器是最先进的技术。相反,他们使用以下技术:
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上的存储库进行了进一步的工作,则必须执行以下操作:
然后,您将获得服务器B缺少的修订#ssh -C compA "svnadmin dump /pathA/repoA --incremental -r oldcopiedRev:oldlastRev" | svnadmin load /pathB/repoB
您是否尝试将
svnserve.conf
文件从一台服务器复制到另一台服务器?我没有找到任何依赖于服务器、IP。。。这是一个很好的答案,问这个问题的人是在Windows上运行的(请注意cmd文件和对e:\..\repositories\repository1
)的引用。)嗯,你说得对。我会让它留下,也许它对其他人有用。