linux svn 数据库迁移,SVN数据迁移之——————windows————Linux

一、备份VisualSVN项目

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

15103418-d2ec9954a27c43ab89d42a107898a0d6.jpg

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

15103419-cbf9ae7c5a174c7f9c2e4c79679ae28a.jpg

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

15103420-8484fc676be544b496038eb7faa7eda0.jpg

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

15103421-9caa2cc446c442d49ce363bcd8ee9d88.jpg

二、上传备份文件到Linux

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

15103422-bc587cfec00c4d49bae2416f70975708.jpg

三、Linux下SVN的安装与配置

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

2. 建立版本库目录svndata。mkdir /svndata

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

killall svnserve #关闭svn

3. 建立项目库svnadmin create /svndata/fpp

4. 配置用户访问权限cd /svndata/fpp/conf

vi svnserve.conf

释放如下几行的注释anon-access=none

auth-access=write

password-db=passwd

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

15103426-73cf24390f2e4353802cfed657f83116.png

6. 将svn设为服务。仔细阅读svn的服务脚本,/etc/init.d/svnserve, 从中可以看出svn的配置文件是/etc/sysconfig/svnserve, 我们可以在其中写自己的配置,从args参数中可以看出,它使用了466691c1d444c58afa1d244082d50931.png6db1f61e92d636dfb0ac134b02de8cc1.png4d2b34a914e4b5afb3a89f6bc5501f74.png4ec73db08a17e1f3d44d5b9f6a09cf67.png466691c1d444c58afa1d244082d50931.pngbfbd028f7a9e732dcb4ee88950f3dabb.png3a7ff249558831bc41e3a3b8cde92a66.png作为服务的参数,所以我们只需要在b5a391c39b9b038f0f7b92d6db37eeb2.pngbea4967978e15bb3abb50a286d5ef68e.png3d9d71b76c1e848bc56d134ebe1b8ec4.png045559c3e89e94546aadf55b3907668c.pngb5a391c39b9b038f0f7b92d6db37eeb2.png6c9597695dae2a2b008746e88481cf92.png92d78adcee450910e4b88030f4540c66.png6c9597695dae2a2b008746e88481cf92.png045559c3e89e94546aadf55b3907668c.png059903740862340e7ef26d7caabf949c.pngbb63b2540aea19f9b0b41a8db48dd760.png0c239da639d66724c2a5824c53ec2b74.png74092a6ffadb10bd51b86d80e50819a3.png7bc68beb72b8b4ef8fda61133418b57c.pngb5a391c39b9b038f0f7b92d6db37eeb2.png6c9597695dae2a2b008746e88481cf92.png3cf73cdf60239e58317fcf2a4502bc93.pngbb63b2540aea19f9b0b41a8db48dd760.png6c9597695dae2a2b008746e88481cf92.pngbea4967978e15bb3abb50a286d5ef68e.pnga99f5272920c4b42a20094c49103757d.png3cf73cdf60239e58317fcf2a4502bc93.pngbea4967978e15bb3abb50a286d5ef68e.png中配置这个OPTIONS作为服务的参数,所以我们只需要在/etc/sysconfig/svnserve中配置这个OPTIONS变量就可以了。通过如下命令便可以设置开机启动:chkconfig --level 35 svnserve on

16182646-2d5b361627ff49e9b12c1c853ca131ee.png

16182647-2d129acb5ad5451ca61fcb0170b4a317.png

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

四、导入备份文件

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

15103427-21a92ae206e84bea9de8569128cb4f9d.jpg

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

15103428-9c764ccebbea43049bb92aa46312425a.jpg

五、客户端进行代码的检出

1.windows端安装TortoiseSVN, 右键svn checkout

15103428-cbc7220fdcd7470eb7106727d6ba6d80.jpg

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

15103432-ec66d8f0fc9247439781868f2f8915a7.png

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

15103433-cbad11751e7d4adc9cba24a1ee1dd724.jpg

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

15103434-82878cdda3114a2584fa8d61d145219f.jpg

15103440-f915b42bbb7a4bb0ab0ca0d8d1edfeb0.png

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

15103441-f2746fb8c102458ab49524d77021cfdf.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值