Press "Enter" to skip to content

SVN从Windows迁移至Linux

将多个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

Leave a Reply

Your email address will not be published. Required fields are marked *