将一台服务器上已有的SVN仓库数据整体迁移到另外一台服务器上,要保留所有的版本号和版本信息,需要以下过程来解决:
(一)关闭SVN服务,创建一个备份文件夹
关闭Svn Server相关服务,创建备份文件夹:D:\svn_bak
1、通过VisualSVN管理工具关闭
(二)通过命令导出库文件
将准备要迁移的仓库通过命令导出,如果SVN仓库多,可以做成.bat文件执行(追踪svn安装目录,找到相关仓库文件)
进入SVN安装目录默认C:\Program Files\VisualSVN Server\bin
下,执行如下
svnadmin dump D:\Repositories\test > d:\svn_bak\test.dump
(三)上传文件到新的SVN服务器
将导出的文件上传到新的svn服务器,如目录为E:\backup\
这里传输是通过FTP方式进行上传下载
参考:文章
(四)在新的服务器上创建新的仓库
在新的服务器上创建新的仓库,如果仓库多,可以做成.bat文件执行
svnadmin create E:\Repositories\test
(五)导入dump文件到新仓库
再新的服务器上导入原有的仓库文件,如果仓库多,可以做成.bat文件执行
svnadmin load E:\Repositories\test < E:\backup\test.dump
(六)迁移用户、用户组以及各仓库的权限文件
服务器备份完成,但是以上操作会导致所有用户和用户组,以及文件权限的配置丢失,比如密码、权限控制等,需要将原有的conf文件覆盖到新的服务器下