从Windows Server 2008 迁移VisualSVN到CentOS 6.8
参考链接
http://www.cnblogs.com/lidabo/p/4633152.html
http://www.cnblogs.com/vijayfly/p/5711962.html
http://blog.csdn.net/testcs_dn/article/details/45395645
一、备份VisualSVN项目
1. 现在要使用Linux作为svn服务器,之前是在windows Server 2008上的,用的是VisualSVN, 如下图所示。
2. 现在svn中有一个项目fpp,需要将fpp这个项目导出到linux环境下。运行cmd,输入命令 svnadmin dump E:\Repositories\fpp > e:\svnbak\fpp.dump将项目导出到e:\svnbak目录下。运行结果如下:
3. 可见命令会导出每个版本的详细信息,保证了之前的历史信息不会丢失。现在我们便得出备份文件fpp.dump,如下:
4. 利用批处理实现项目的批量导出,编写svnbak.bat, 双击运行,会一次性导出所有项目,结果如下图:
二、上传备份文件到Linux
1. 利用Samba,ftp, ssh等工具将fpp.dump文件传输到Linux服务器上;
三、Linux下SVN的安装与配置
1. Linux下安装svn,这里直接利用yum命令进行安装。yum install subversion完成subversion的安装。
2. 建立版本库目录svn
mkdir /opt/svn/repos/svn
svnserve -d -r /opt/svn/repos/svn #启动svn,设置版本库目录为/svndata
killall svnserve #关闭svn
3. 建立项目库
svnadmin create /opt/svn/repos/svn/fpp
4. 配置用户访问权限
cd /opt/svn/repos/svn/fpp/conf
vi svnserve.conf
释放如下几行的注释
anon-access=none
auth-access=write
password-db=passwd
authz-db = authz
5. vi passwd 增加访问用户,格式为(username = password),等号两边要加空格,否则无效。
vi authz(添加权限):
[svn1:/]
user1 = rw
user2 = rw
#svn1是具体版本库的标签
四、导入备份文件
1. 输入命令:svnadmin load /opt/svn/repos/svn/fpp < /root/fpp.dump
2. 启动svn:svnserve -d -r /opt/svn/repos/svn
设置开机启动:
vi /etc/rc.d/rc.local
添加命令:/usr/bin/svnserve -d -r /home/svn
whereis svnserve查找svn路径
五、客户端进行代码的检出
1.windows端安装TortoiseSVN, 右键svn checkout
2. 在打开的对话框中,输入svn库的地址,确定便可以同步项目。地址如下,ip地址加项目名称,如图:
3. svn提示检出成功,在目录下可以找到检出的项目。
4. 对于以前的项目,重定向到新的svn服务器,右键->TortoiseSVN->Relocate,在弹出的对话框中填写新的地址,TortoiseSVN会提示修改成功,之后,就可以使用新的svn了。
5. linux下若使用svn命令的话,形式如下:
svn switch --relocate (Old Repository Root) (New Repository Root)