• Windows SVN迁移到Linux 服务器


    一、备份VisualSVN项目

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

    clip_image002

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

    clip_image004

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

    clip_image006

    4. 利用批处理实现项目的批量导出,编写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

    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),等号两边要加空格,否则无效。如下图,没有加空格,就一直没用:

    clip_image012

    6. 将svn设为服务。仔细阅读svn的服务脚本,/etc/init.d/svnserve, 从中可以看出svn的配置文件是/etc/sysconfig/svnserve, 我们可以在其中写自己的配置,从args参数中可以看出,它使用了OPTIONS变量就可以了。通过如下命令便可以设置开机启动:

    chkconfig --level 35 svnserve on

    image

    image

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

    四、导入备份文件

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

    clip_image014

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

    clip_image016

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

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

    clip_image018

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

    clip_image019

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

    clip_image021

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

    clip_image023

    clip_image024

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

    clip_image025

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

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

    (转载与其他交流平台)

  • 相关阅读:
    Corosync+Pacemaker+DRBD+Mysql高可用HA配置
    高可用集群corosync+pacemaker之crmsh使用
    nfs+DRBD+corosync+pacemaker 实现高可用(ha)的nfs集群
    nginx匹配
    2011年的最后一篇
    Python自然语言处理学习笔记(66):7.7 小结
    Python自然语言处理学习笔记(65):7.6 关系抽取
    Python自然语言处理学习笔记(64): 7.5 命名实体识别
    Python自然语言处理学习笔记(67):7.8 扩展阅读
    Python自然语言处理学习笔记(68):7.9 练习
  • 原文地址:https://www.cnblogs.com/lixiuran/p/11815881.html
Copyright © 2020-2023  润新知