zoukankan      html  css  js  c++  java
  • SVN服务器端环境搭建步骤

    5.1 安装服务器端程序

          yum install -y subversion

              

    5.2 创建并配置版本库

      创建版本库目录
          mkdir -p /var/svn/repository
      在版本库目录下创建具体项目目录
          mkdir pro_oa
      创建SVN 版本库
          svnadmin create /var/svn/repository/pro_oa
           版本库内容

         

    5.3 配置SVN 对应的服务
        思路

          

        SVN

          名称:svnserve
          默认情况下不是开机自动启动

    [root@root02 repository]# chkconfig|grep svn
    svnserve       	0:关闭	1:关闭	2:关闭	3:关闭	4:关闭	5:关闭	6:关闭
    [root@root02 repository]# chkconfig svnserve on
    [root@root02 repository]# chkconfig|grep svn
    svnserve       	0:关闭	1:关闭	2:启用	3:启用	4:启用	5:启用	6:关闭
    [root@root02 repository]# 

          对应可执行脚本文件路径

    /etc/rc.d/init.d/svnserve
    

          注意备份!

          SVN 服务具体配置

    原版
    args="--daemon --pid-file=${pidfile} $OPTIONS"
    修改版
    args="--daemon --root 版本库根目录--listen-port 指定端口号--pid-file=${pidfile} $OPTIONS"
    args="--daemon --root /var/svn/repository --listen-port 2255 --pid-file=${pidfile} $OPTIONS"
    使用默认端口号的配置方式
    args="--daemon --root /var/svn/repository --pid-file=${pidfile} $OPTIONS"

      5.4 启动SVN 服务

    [root@rich init.d]# service svnserve start
    正在启动svnserve:[确定]
    [root@rich init.d]# service svnserve status
    svnserve (pid 3443) 正在运行...
    [root@rich init.d]# netstat -anp|grep :2255
    tcp 0 0 0.0.0.0:2255 0.0.0.0:* LISTEN
    3443/svnserve
    [root@rich init.d]# ps -ef|grep svnserve|grep -v grep
    root 3443 1 0 11:41 ? 00:00:00 /usr/bin/svnserve --daemon --root
    /var/svn/repository --listen-port 2255 --pid-file=/var/run/svnserve.pid
    [root@rich init.d]# cat /var/run/svnserve.pid
    3443
    

    命令行客户端

        创建两个工作区目录模拟两个开发人员
            mkdir -p /root/workspace/harry
            mkdir -p /root/workspace/sally
              检出   

                            作用:完整下载版本库中的全部内容。
             命令
                svn checkout svn://192.168.40.34/pro_oa ./ 
            附加效果
               在指定目录下创建.svn 目录
               保存本地目录和文件状态信息,用来和SVN 服务器进行交互
           工作副本
            .svn 所在的目录
            版本控制相关操作都需要在工作副本目录下执行。例如:提交、更新等等这样的操作。
            为了保证工作副本能够正常和服务器进行交互,请不要删除或修改.svn 目录中的内容。

       添加

                          SVN 要求提交一个新建的文件前先把这个文件添加到版本控制体系中。

           svn add 文件名

                       

        提交

              要求1:附加日志信息

                  日志信息相当于写Java 代码时的注释,用来标记本次操作所做的修改。
                   svn commit -m "xxx" [文件名]

              要求2:必须具备相应的权限

                   使用文本编辑器打开版本库根目录/conf/svnserve.conf 文件

                    

                    

                    

          查看服务器端文件内容  

    [root@root03 harry]# svn list svn://192.168.40.34/pro_oa
    good.log
    hello.txt
    [root@root03 harry]# ^C
    [root@root03 harry]# 
    

          更新操作

            作用:把服务器端文件所产生的所有修改下载到本地

              命令:svn update [文件名]

              

              

         冲突

           过时的文件

                  在一个相对服务器端版本来说是旧版本的基础上进行了修改的文件。
                  要求:所有过时的文件都必须先执行更新操作,更新后在最新版基础上修改的文件才允许提交。

                  

                  

             冲突的产生      

                  条件1:本地当前编辑的文件已经过时。
                  条件2:从服务器端更新下来的修改和本地的修改在“同文件同位置”不一致。

             冲突的表现

                  文件内

                    

                  目录内

                       

                  由于发生冲突产生的冲突

                    

                    

                    xxx.mine 文件:发生冲突时本地文件内容
                    xxx.r[小版本号]文件:发生冲突前文件内容

                      xxx.r[大版本号]文件:发生冲突时服务器端文件内容

                     

         冲突的手动解决

            第一步:删除冲突发生时产生的三个多余文件

                                            rm 多余的三个文件名
            第二步:删除冲突文件内多余的符号

                  提交

            第三步:把文件编辑到满意的状态

            第四步:提交

         冲突的半自动解决

                  设置SVN_EDITOR 环境变量

                 

                

                  编辑: vim /etc/profile 文件
                  在末尾添加:
                    SVN_EDITOR=/usr/bin/vim
                    export SVN_EDITOR
                  启动生效文件 
                  source /etc/profile

                  查看是否是生效
                  echo $SVN_EDITOR

              解决的过程

                使用e 选项进入文件内容编辑界面

                

                   进入vim 编辑器编辑文件内容

                  

                  编辑完成后使用r 选项标记为已解决

                   

            减少冲突的发生

                  尽可能在修改文件前先进行更新操作,尽量在最新版基础上修改文件内容。

                  尽量减少多人修改同一个文件的可能性。
                  加强团队成员之间的沟通。

           

  • 相关阅读:
    Android实战技巧:深入解析AsyncTask
    Android开发在路上:少去踩坑,多走捷径
    ART:Android 摆脱卡顿的希望?
    搭建Elasticsearch集群的配置
    Docker学习笔记-(5)容器数据管理,链接容器,构建私有库
    Docker学习笔记-(4)Dockerfile
    Docker学习笔记-(3)网络设置
    Docker学习笔记-(2)端口映射
    Docker学习笔记-(1)常用命令
    【架构】Heartbeat高可用服务(2)
  • 原文地址:https://www.cnblogs.com/liyang6/p/10628384.html
Copyright © 2011-2022 走看看