zoukankan      html  css  js  c++  java
  • 代码管理工具之SVN简介

    之前博主介绍过优秀的代码版本管理工具Git,今天介绍下svn。

    SVN是集中式版本控制系统,版本库存放在中央服务器,必须联网才能工作。

    1、安装svn 

          centos:yum install subversion -y 

          ubuntu:apt-get install subversion -y 

    2、创建库目录 mkdir /opt/.svn/zxkj/

          svnadmin create /opt/.svn/zxkj/

    3、启动svn网络服务: svnserve -d -r /home/svn,
          其中 -d 参数让 svnserve 运行在后台,-r 参数限定了数据仓库,在网络上可以访问的地址,
          指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库。
          /home/svn指定svn数据仓库存放的目录位置。

    4、检查svn服务器是否已经启动(svn默认使用3690端口):netstat -an | grep 3690。
          svn的默认端口是3690,在ubuntu里查看端口打开情况,命令是 sudo netstat -anp。
          svn服务重新启动命令为:svnserve -d -r /home/svn
          如果需要停止svn服务,则用此命令:sudo killall svnserve

    5、配置文件

          cd conf/

          vi svnserver.conf 

           anon-access = none       #匿名用户权限

             auth-access = write          #认证用户权限

           password-db = passwd    #使用哪个文件作为账号文件

           authz-db = authz              #使用哪个文件作为权限文件

          vi authz  
                qianduan = ws   
                yunwei = lwj  
                chanpin = cjr
                ui =xll,wg 
                [/]   
                jyh = rw  
                @chanpin = rw   
                @yunwei = rw  
                @houduan = rw  

                [/zxkj/UI]

                jyh = rw

                @ui = rw

                @qianduan = r

                * =

          vi passwd

               jyh = jyh888

               ws  = ws888

    6、设置svn服务开机启动:
          在init.d目录建立一个脚本文件svnd.sh:  cd /etc/init.d ,
          用gedit打开svnd.sh进行编辑: sudo gedit svnd.sh,
          输入svnd.sh内容如下(/home/svn 为svn仓库路径):
          #!/bin/bash
          #svnserve startup
          svnserve -d -r /home/svn
          保存退出。
          修改权限:
          update-rc.d svnd.sh defaults
          chmod 777 svnd.sh

    Linux作为svn客户端:

      svn checkout svn_path local_path --username=user --password=123456

    工作中使用示例:

    #!/bin/bash
    TIME_DIR=`date -d yesterday +%Y%m%d`
    svn mkdir /root/讯代理日常巡检/${TIME_DIR}
    for i in api01 api02 web01 web02 forward01 forward02 houtai;do
            SOURCE_DIR="/root/myfiles/xdaili_log/uptime/${i}/`date -d yesterday +%Y_%m_%d`_system_check.txt"
            DEST_DIR="/root/讯代理日常巡检/${TIME_DIR}/"
            cp ${SOURCE_DIR} ${DEST_DIR}
            mv /root/讯代理日常巡检/${TIME_DIR}/`date -d yesterday +%Y_%m_%d`_system_check.txt /root/讯代理日常巡检/${TIME_DIR}/${i}.txt
    done
    svn add /root/讯代理日常巡检/${TIME_DIR}/*
    svn commit -m "" /root/讯代理日常巡检/

    SVN 官网:https://subversion.apache.org/Github

    SVN 源码:https://github.com/apache/subversion

    
    
    Keep moving forwards~
  • 相关阅读:
    Django之AJAX
    Django中的csrf相关装饰器
    Django的中间件及WSGI
    Django之Cookie和Session
    Django之ORM操作(重要)
    Django的View(视图)和路由系统
    Django之url上的include,URL命名和反向解析,命名空间
    Django中的tags,母版和继承,组件,静态文件相关,自定义simpletag和自定义inclusion_tag
    kvm 宿主机不兼容
    kvm io限制
  • 原文地址:https://www.cnblogs.com/-X-peng/p/14258664.html
Copyright © 2011-2022 走看看