将多个SVN从一台Windows服务器, 迁移到Linux系统的过程, 记录一下, 本文的Linux版本为CentOS 6 64bit.
1,在Windows上导出SVN信息
svnadmin dump D:\SVN\NDS_BJ > D:\svnbak\NDS_BJ.bak svnadmin dump D:\SVN\NDS_EVO > D:\svnbak\NDS_EVO.bak svnadmin dump D:\SVN\NDS_FDC > D:\svnbak\NDS_FDC.bak
提示:
1, dump命令会导出每个版本的详细信息,保证了之前的历史信息不会丢失.
2, 该命令仅会导出版本信息,不会导出配置及用户名等信息,因此还需要单独备份conf目录.
2,在CentOS 6系统上安装配置SVN
yum install subversion mkdir /data/svn svnserve -d -r /data/svn/ #启动SVN,监听端口为3690 echo 'svnserve -d -r /data/svn/' >> /etc/rc.local killall svnserve #关闭SVN
初始化repository(项目库)
svnadmin create /data/svn/NDS_BJ #建立repository vim /data/svn/NDS_BJ/conf/svnserve.conf 取消如下几行的注释: anon-access=none或者anon-access=read auth-access=write password-db=passwd authz-db = authz
注意,取消注释时,要把每项前面的空格也删掉,否则客户端连接的时候会报出svnserve.conf:12: Option expected的错误.
把其余的repository(项目库)也一起初始化吧 svnadmin create /data/svn/NDS_EVO svnadmin create /data/svn/NDS_FDC
导入repository(项目库)
svnadmin load /data/svn/NDS_BJ < /bak/NDS_BJ.bak svnadmin load /data/svn/NDS_EVO < /bak/NDS_EVO.bak svnadmin load /data/svn/NDS_FDC < /bak/NDS_FDC.bak
版本信息导入完成以后,还需要把windows上备份的conf目录,替换掉新repo里的conf目录,即是迁移完成了.
参考资料:http://my.oschina.net/grnick/blog/161424