SVN服务器从Windows迁移到LInux

一、备份VisualSVN项目

  1. 现在要使用Linux作为svn服务器,之前是在windows Server 2008上的,用的是VisualSVN, 如下图所示。

clip_image002

  1. 现在svn中有一个项目fpp,需要将fpp这个项目导出到linux环境下。运行cmd,输入命令 svnadmin dump E:\Repositories\fpp > e:\svnbak\fpp.dump将项目导出到e:\svnbak目录下。运行结果如下:

clip_image004

  1. 可见命令会导出每个版本的详细信息,保证了之前的历史信息不会丢失。现在我们便得出备份文件fpp.dump,如下:

clip_image006

  1. 利用批处理实现项目的批量导出,编写svnbak.bat, 双击运行,会一次性导出所有项目,结果如下图:

clip_image008

二、上传备份文件到Linux

  1. 利用ftp, ssh等工具将fpp.dump文件传输到Linux服务器上,这里利用直接利用openSSH这个软件上传。如图,文件上传成功,文件的路径为/root/fpp.dump。

clip_image010

三、Linux下SVN的安装与配置

  1. Linux下安装svn,这里直接利用yum命令进行安装。yum install subversion完成subversion的安装。

  2. 建立版本库目录svndata。

mkdir /svndata

svnserve -d -r /svndata #启动svn,设置版本库目录为/svndata

killall svnserve #关闭svn

  1. 建立项目库

svnadmin create /svndata/fpp

  1. 配置用户访问权限

cd /svndata/fpp/conf

vi svnserve.conf

释放如下几行的注释

anon-access=none

auth-access=write

password-db=passwd

  1. 增加访问用户,格式为(username = password),等号两边要加空格,否则无效。如下图,没有加空格,就一直没用:

clip_image012

  1. svn的命令这里不作介绍,大家自己去学习使用。

四、导入备份文件

  1. 输入命令:svnadmin load /svndata/fpp < /root/fpp.dump,运行结果如下:

clip_image014

  1. 为了避免逐个导入项目,所以写了一个shell脚本,进行批量导入,遍历备份目录下所有*.dump文件,并产生相应的导入命令,15个项目,花了10分钟左右完成导入,脚本如下:
    在这里插入图片描述

五、客户端进行代码的检出
1.windows端安装TortoiseSVN, 右键svn checkout

clip_image018

  1. 在打开的对话框中,输入svn库的地址,确定便可以同步项目。地址如下,ip地址加项目名称,如图:

clip_image019

  1. svn提示检出成功,在目录下可以找到检出的项目。

在这里插入图片描述

  1. 对于以前的项目,重定向到新的svn服务器,右键->TortoiseSVN->Relocate,在弹出的对话框中填写新的地址,TortoiseSVN会提示修改成功,之后,就可以使用新的svn了。

clip_image023

在这里插入图片描述

  1. 如果你是使用eclipse中的subeclipse的插件,首先打开svn资源库视图,然后选择你的项目,右键选择重定向,填入新的svn地址。

clip_image025

  1. linux下若使用svn命令的话,形式如下:

svn switch --relocate (Old Repository Root) (New Repository Root)

六、Linux服务器端设置svn开机启动

(1)在Linux服务器跟目录((/root路径下))创建一个脚本文件

 #  touch svn.sh

(2) 进入脚本文件

  # vim svn.sh

(3)添加一下内容

#!/bin/bash
/usr/bin/svnserve -d -r  /opt/svn/repositories

解释一下:

           这里的svnserve路径保险起见,最好写绝对路径,因为启动的时候,环境变量也许没加载。

绝对路径怎么查?

  # which svnserve

(4)改该脚本的执行权限

# chmod 777 svn.sh

(5)加入自动运行

 # vi /etc/rc.d/rc.local

在末尾添加脚本的路径:
/root/svn.sh

(6)重启Linux服务器,重启后查看svn服务器是否已经开启

    #  ps -ef|grep svnserve

 如果显示以下信息表示svn已经开启了:

   tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN

转载自 : https://www.cnblogs.com/lidabo/p/4633152.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值