• SVN 集中式版本控制软件


    简介:

    目前流行的版本控制软件中,SVN ( 集中式版本控制 ) 算是使用范围更广、且使用时间更早的一款了,现在 git ( 分布式版本控制 ) 更火爆一点。

    一、安装svn

    [root@localhost ~]# yum -y install subversion
    [root@localhost ~]# svn --version  #查看版本号
    svn,版本 1.6.11 (r934486)

    二、配置svn

    1、创建工作目录及版本库

    [root@localhost ~]# mkdir /svn
    [root@localhost ~]# svnadmin create /svn/myrepos  #创建一个名为myrepos的版本库
    [root@localhost ~]# ls /svn/myrepos/
    [root@localhost ~]# tree /svn/myrepos/conf/
    /svn/myrepos/conf/
    ├── authz  #用户授权配置文件
    ├── passwd  #用户认证配置文件
    └── svnserve.conf  #服务配置文件

    2、修改svn版本库配置文件(需要重启svnserver)

    [root@localhost ~]# grep -vP '^#|^$' /svn/myrepos/conf/svnserve.conf 
    [general]
    anon-access = none  #匿名用户访问权限
    auth-access = write  #认证用户访问权限
    password-db = passwd  #认证用户命名文件 
    authz-db = authz  #目录授权文件
    realm = My First Repository  #提示信息
    [sasl]

    3、添加认证用户、密码(username = password)

    [root@localhost ~]# grep -vP '^#|^$' /svn/myrepos/conf/passwd 
    [users]
    lys = liuyisai
    qs = qingshan

    4、添加目录授权

    [root@localhost ~]# grep -vP '^#|^$' /svn/myrepos/conf/authz 
    [aliases]
    [groups]
    [myrepos:/]  #授权目录  
    lys = rw  #授权认证用户lys(可读、可写)
    qs = r  #授权认证用户qs(可读)
    * =  #非授权认证用户(无权限)

    5、以守护进程的方式启动svn

    [root@localhost ~]# svnserve -d -r /svn  #-d 以守护进程的方式启动一个svnserver,-r 指定版本库

    #默认监听TCP 3690 端口,以守护进程模式启动时,可以使用--list-port、--list-host来指定端口、主机

    [root@localhost ~]# netstat -lnpt | grep 3690
    tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN      3109/svnserve       

    6、授权测试

    [root@localhost ~]# svn checkout --no-auth-cache --username lys --password liuyisai svn://192.168.2.205/myrepos /home/lys/
    取出版本 0。
    [root@localhost ~]# svn checkout --no-auth-cache --username qs --password qingshan svn://192.168.2.205/myrepos /home/qs
    取出版本 0
    [root@localhost ~]# touch /home/lys/readme  #创建测试文件
    [root@localhost ~]# svn add /home/lys/readme   #添加到工作区
    A         /home/lys/readme
    [root@localhost ~]# svn --no-auth-cache --username lys --password liuyisai commit -m 'add readme' /home/lys/readme 
    增加           home/lys/readme
    传输文件数据.
    提交后的版本为 1
    [root@localhost ~]# touch /home/qs/readme1
    [root@localhost ~]# svn add /home/qs/readme1 
    A         /home/qs/readme1
    [root@localhost ~]# svn --no-auth-cache --username qs --password qingshan commit -m 'add readme1' /home/qs/readme1 
    svn: 提交失败(细节如下): 
    svn: 认证失败

    三、停止svnserver

    
    
    [root@localhost ~]# kill $(ps aux | grep svnserve | grep -v grep | awk '{print $2}')

    四、svn备份、还原

    1、逻辑备份(备份灵活、可以全量、增量备份--incremental、节省空间,适合版本库比较小的规模)

    [root@localhost ~]# svnadmin dump /svn/myrepos > /data/backup/myrepos_$(date +%Y%m%d).bak

    2、物理备份(占用空间大,备份、恢复速度快)

    [root@localhost ~]# svnadmin hotcopy /svn/myrepos/ /data/backup/myrepos_hot_$(date +%Y%m%d).bak

    3、逻辑还原

    [root@localhost ~]# svnadmin load /svn/myrepos/ < /data/backup/myrepos_20161024.bak   #注意:如果版本库被删,还原以后还需重新配置认证用户、授权等!

    4、物理还原

    [root@localhost ~]# svnadmin hotcopy /data/backup/myrepos_hot_20161024.bak/  /svn/myrepos/

    五、win客户端连接

    1、下载、安装小乌龟 ( TortoiseSVN )

    2、建立工作目录,右键 Checkout --> URL ( svn://192.168.2.205/myrepos ) --> 输入用户名、密码 ( lys / liuyisai )

    3、测试授权,创建一个文件,添加,提交 看看是否很授权吻合 !

  • 相关阅读:
    易拓展、易修改的状态流程设计和实现
    消除ifelse/switch语句块来聚合模型的设计与实现
    基于Http协议订阅发布系统设计
    Window mobile 实现CLIST始终选中最新添加数据
    C++ 解压zip利器
    Windows mobile 获取当前路径
    Windows mobile 根据网络地址自动拨号连接GRPS
    Windows mobile设置MFC确认键不退出及OnExit响应退出
    c++使用(Shell32.dll)GetDetailsOf 接口获取文件属性
    C++ 注册表编程
  • 原文地址:https://www.cnblogs.com/liuyisai/p/6063047.html
Copyright © 2020-2023  润新知