Subversion 服务器迁移

应为一些原因,需要将目前的SVN服务器移动到另外一台服务器上。之前一直采取了一个傻瓜方法。就是再另外一台服务器上搭建一个新SVN Rep,然后通过在客户端连接两边的服务器,把一边得copy到另外一边,再上传了事。不过这个最大的问题就是丧失了原来的修改履历。

这次想用Subversion自己的back命令来完成。假设AServer 1.1.1.1 BServer 1.1.1.2

1. 将1.1.1.1的svn服务器备份

svnadmin dump PATH_TO_REPOSITORY > DUMP_FILE_NAME

如果文件很大,可以用

svnadmin dump PATH_TO_REPOSITORY | gzip > DUMP_FILE_NAME.gz

2. 将文件传到1.1.1.2服务器上

3. 在1.1.1.2上做成新的SVN Rep

mkdir -p PATH_TO_REPOSITORY
svnadmin create PATH_TO_REPOSITORY

4.在1.1.1.2上 Load Dump

svnadmin load PATH_TO_REPOSITORY < DUMP_FILE_NAME

如果是压缩文件

zcat DUMP_FILE_NAME.gz | svnadmin load PATH_TO_REPOSITORY

5.客户端重新设定server

svn switch –relocate OLD_REPOSITORY_URL NEW_REPOSITORY_URL