• centos6.5部署subversion(svn)


    SVN默认端口:3690

    svnserve -d -r/home/declan/svnproject--listen-port 21  #修改svn监听端口

    一、安装svn

    yum install subversion -y

    二、检查是否安装成功

    svnserver --version

    svnserve, version 1.6.11 (r934486)
    compiled Aug 17 2015, 08:37:43

    Copyright (C) 2000-2009 CollabNet.
    Subversion is open source software, see http://subversion.tigris.org/
    This product includes software developed by CollabNet (http://www.Collab.Net/).

    The following repository back-end (FS) modules are available:

    * fs_base : Module for working with a Berkeley DB repository.
    * fs_fs : Module for working with a plain file (FSFS) repository.

    Cyrus SASL authentication is available.

    #ok,安装成功,svn版本为1.6.11

    三、创建代码仓库

    mkdir -p /opt/svn/bokeyuan-xsj    #新建一个目录作为仓库
    svnadmin create /opt/svn/bokeyuan-xsj/    #创建svn仓库

    进入仓库查看如出现下面的图片所示的目录和文件,则创建成功

    四、配置svn服务器

    仓库conf目录下有三个文件,passwd、authz、svnserver.conf

    #passwd     :存放用户和密码文件
    #authz      :存放用户权限文件
    #svnserver.conf:svn主配置文件

    4.1修改passwd,添加用户密码

    vim passwd
    [users]
    xushijie = bokeyuan.xsj  #格式:用户名 = 密码

    4.2修改authz,添加用户权限

    [bokeyuan-xsj:/]  #为一个项目配置用户权限
    xushijie = rw    #设置开发者为读写权限

    #这里也可以定义用户组
    [groups]
    #格式:user-group = username
    groups1 = username1 #将用户1添加到开发组
    groups2 = username2 #将用户2添加到设计组
    [bokeyuan-xsj:/]
    @username1 = rw
    @username2 = r

    4.3修改svnserver.conf

    vim svnserver.conf
    anon-access = none   #去掉注释,修改匿名用户访问权限
    auth-access = write  #去掉注释,验证用户权限
    password-db = /var/svn/projectname/passwd #去掉注释,指定密码文件路径
    authz-db = /var/svn/project/authz #去掉注释,指定权限文件的路径

    五、启动svn服务

    svnserver -d -r /opt/svn/    # -r:svn仓库目录,-d:使用守护进程

    还有一种方法启动,编辑启动脚本

    vim /etc/init.d/svnserve
    args="--daemon --pid-file=${pidfile} -r /opt/svn $OPTIONS"  #编辑svn启动目录 -r /opt/svn

    六、测试

    使用三台机器

    svn :192.168.1.198

    开发:192.168.1.199

    运维:192.168.1.200

    6.1在192.168.1.199上创建三个目录

    mkdir trunk branches tags  #创建主干目录和分支目录

    6.2创建三个文件导入到trunk上,提交到版本库中

    echo a > trunk/a.txt
    echo b > trunk/b.txt
    svn import ./ svn://192.168.1.198/bokeyuan-xsj -m "n1"  #将创建的目录添加到版本库中
    Password for 'xushijie':  #输入你在passwd中创建的密码

    6.3在192.168.1.200上把trunk目录下载下来

    svn checkout svn://192.168.1.198/bokeyuan-xsj

    七、svn版本库常用命令:

    1、将文件checkout到本地目录
    svn checkout path(path是服务器上的目录)

    例如:svn checkout svn://192.168.1.1/pro/domain
    简写:svn co
    2、往版本库中添加新的文件
    svn add file
    例如:svn add test.php(添加test.php)
    svn add *.php(添加当前目录下所有的php文件) 
    3、将改动的文件提交到版本库
    svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)

    例如:svn commit -m “add test file for my test“ test.php
    简写:svn ci
    4、更新到某个版本
    svn update -r m path

    例如:
    svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
    svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)
    svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)
    简写:svn up 
    5、删除文件
    svn delete path -m “delete test fle“
    例如:svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file”
    或者直接svn delete test.php 然后再svn ci -m ‘delete test file‘,推荐使用这种
    简写:svn (del, remove, rm)
    6、查看文件详细信息
    svn info path

    例如:svn info test.php
    7、比较差异
    svn diff path(将修改的文件与基础版本比较)
    例如:svn diff test.php
    svn diff -r m:n path(对版本m和版本n比较差异)
    例如:svn diff -r 200:201 test.php
    简写:svn di 
    8、将两个版本之间的差异合并到当前文件
    svn merge -r m:n path
    例如:svn merge -r 1:2 test.php(将版本1与2之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)

  • 相关阅读:
    P1182 数列分段 Section II 题解
    P3853 路标设置题解
    二分模板
    P2678 跳石头题解
    P2440 木材加工题解
    P1024 一元三次方程求解题解
    快速下载vscode的方法
    P1824 进击的奶牛题解
    P1873 砍树题解
    用户登录之asp.net cookie的写入、读取与操作
  • 原文地址:https://www.cnblogs.com/linux-xsj/p/6693525.html
Copyright © 2020-2023  润新知