zoukankan      html  css  js  c++  java
  • SVN-Server搭建及配置

        SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。

    一、服务器环境

    操作系统:CentOS release 6.5 (Final)

    内核版本:2.6.32-431.el6.x86_64

    SVN-Server版本:1.6.11 (r934486)

    二、安装SVN-Server

    1、SVN-Server和SVN-Client下载地址

    官网下载: http://subversion.apache.org/packages.html

    SVN客户端TortoiseSVN :https://tortoisesvn.net/downloads.html

    参考文档1:http://liqingbiao.blog.51cto.com/3044896/1831236

    参考文档2:https://segmentfault.com/a/1190000003853810#articleHeader7

    2、安装subversion

    # yum -y install subversion

    3、创建仓库

    创建用于存储仓库的目录并进入该目录:

    # mkdir /svn ; cd /svn

    创建仓库:

    # svnadmin create /svn/fansik/

    以下关于/svn/fansik/目录的说明:

    hooks目录:放置hook脚步文件的目录

    locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端

    format目录:是一个文本文件,里边只放了一个整数,表示当前文件库配置的版本号

    conf目录:是这个仓库配置文件(仓库用户访问账户,权限)

    4、配置SVN服务的配置文件

    # vim svnserve.conf

    [general]

    anon-access = none #使非授权用户无法访问

    auth-access = write #使授权用户有写权限

    password-db = passwd #用户密码文件

    authz-db = authz #访问控制文件

    realm = fansik repository # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错

    5、配置访问用户及密码

    # vim passwd

    [users]

    fansik = fanjinbao

    user1 = fanjinbao

    6、配置用户权限

    # vim authz

    [groups]  #定义组

    admin = fansik,fanjinbao  #创建admin组,组成员为:fansik,fanjinbao

    user = user1  #创建用户组,用户成员user1

    [/]  #定义访问目录

    @admin = rw  #admin组有读写的权限

    @user = rw  #user组有读写权限

    *=  #表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上。

    备注1:版本库的目录格式如下:

    [<版本库>:/项目/目录]

    @<用户组名> = 权限

    <用户名> = 权限

    其中[]內容有許多写法:

    [/],表示根目录及其一下的路径,根目录是svnserver启动时指定好的,上述实例中我们指定为:/svn/svndata([/]=/svn/svndata).[/]就是表示对全部版本设置的权限

    [test:/],表示对版本库test设置权限;

    [test:/svnadmin],表示对版本库test中的svnadmin项目设置权限;

    [test:/svnadmin/second],表示对版本库test中的svnadmin项目的目录设置权限;

    备注2:

    权限的主体可以是用户组,用户或者*,用户组在前面要以@开头,*表示全部用户

    权限分为:r ,w, rw和null ,null空表示没有任何权限。

    auhtz配置文件中的每个参数,开头不能有空格,对于组要以@开头,用户不需要。

    7、启动SVN-Server

    # svnserve -d -r /svn/

    注意:更改svnserver.conf时需要重启SVN服务,更改authz,passwd文件时则不需要重启服务

    也可以在启动是指定端口号:

    # svnserve -d --listen-port 3690 -r /svn --log-file=/svn/svn.log --pid-file=/svn/svn.pid

    注:svnserve的进程可以启动多个

    三、SVN的使用方法

    1、导入版本库(/fansik目录要存在)

    # svn import --force-log /fansik svn://192.168.1.203/fansik -m "fansik" --username=user1 --password=fanjinbao

    2、显示项目列表

    # svn list svn://192.168.1.203/fansik

    3、剪出版本库中的可用的工作目录

    # svn checkout svn://192.168.1.203/fansik

    4、添加文件到版本库

    # svn add fansik.java

    5、删除文件

    # svn rm fansik.java

    6、更新版本库

    # svn update fansik.java

    7、提交到版本库

    # svn ci -m --force-log "fansik.java"

    8、移除或者重命名

    # svn move fansik.java fansik1.java

    9、打印svn工作目录和文件状态

    # svn status -v *(可以使用通配符)

  • 相关阅读:
    使用php语言生成二维码
    简单的二级目录 操作
    上传图片 以及做成缩略图
    第一天 :学习node.js
    中文api接口
    PHP中获取当前页面的完整URL
    tp中session用来做权限方法 (缓解mysql压力)
    时间倒计时
    static关键字
    Windows程序内部运行原理简介
  • 原文地址:https://www.cnblogs.com/fansik/p/6068870.html
Copyright © 2011-2022 走看看