zoukankan      html  css  js  c++  java
  • CentOS-6.3安装配置SVN

    经自己亲身测试,成功配置svn:

    安装说明
    系统环境:CentOS-6.3
    安装方式:yum install (源码安装容易产生版本兼容的问题)
    安装软件:系统自动下载SVN软件
    
     
    
    检查已安装版本
    #检查是否安装了低版本的SVN
    [root@localhost /]# rpm -qa subversion
    #卸载旧版本SVN
     [root@localhost modules]# yum remove subversion 
    
    
    安装SVN 
    [root@localhost modules]# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
    确认已安装了svn模块
    [root@localhost /]# cd /etc/httpd/modules 
    [root@localhost modules]# ls | grep svn mod_authz_svn.so mod_dav_svn.so
     验证安装 检验已经安装的SVN版本信息 
    [root@localhost modules]# svnserve --version svnserve
    版本 1.6.11 (r934486) 编译于 Jun 23 201200:44:03 版权所有 (C) 2000-2009 CollabNet。 Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。 此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。 下列版本库后端(FS) 模块可用: * fs_base : 模块只能操作BDB版本库。 * fs_fs : 模块与文本文件(FSFS)版本库一起工作。 Cyrus SASL 认证可用。
     代码库创建 SVN软件安装完成后还需要建立SVN库 
    [root@localhost modules]# mkdir -p /opt/svn/one
    (如果是多个:mkdir -p /opt/svn/two)
    [root@localhost modules]# svnadmin create /opt/svn/one
    ([root@localhost modules]# svnadmin create /opt/svn/two,以下仅以one为例,two类似)
    执行上面的命令后,自动建立one库,查看/opt/svn/one 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。 配置代码库 进入上面生成的文件夹conf下,进行配置 
    [root@localhost modules]# cd/opt/svn/one/conf 
    (1)用户密码passwd配置 [root@localhost password]# cd /opt/svn/one/conf 
    
    
    [root@admin conf]# vi + passwd 
    修改passwd为以下内容:
    [users]
    # harry = harryssecret
    # sally = sallyssecret
    zrp=123456
    (2)权限控制authz配置
    [root@admin conf]# vi + authz 目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
    #设置[/]代表根目录下所有的资源
    [/]
    zrp=rw
    
    

    [svndata:/one]     设置根目录下“one”文件夹的权限

    zrp= rw(注意:必须顶格写)

    user2 = r

    (3)服务svnserve.conf配置

    [root@admin conf]# vi + svnserve.conf
    
    追加以下内容:
    
    [general]
    #匿名访问的权限,可以是read,write,none,默认为read
    anon-access=none
    #使授权用户有写权限 
    auth-access=write
    #密码数据库的路径 
    password-db=passwd
    #访问控制文件 
    authz-db=authz
    #认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字 
    realm=/opt/svn/one
    配置防火墙端口
    [root@localhost conf]# iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
    
    
    保存后重启防火墙
    [root@localhost conf]# service iptables restart
    启动SVN
    svnserve -d -r /opt/svn/one
    说明: -d指在后台运行;-r指定根目录
    
    查看SVN进程
    [root@localhost conf]# ps -ef|grep svn|grep -v grep
    root     12538     1  0 14:40 ?        00:00:00 svnserve -d -r /opt/svn/one
    检测SVN 端口
    [root@localhost conf]# netstat -ln |grep 3690
    tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN
    停止重启SVN(注:修改了svn的配置后,重启svn才生效)
    [root@localhost password]# killall svnserve    //停止 
    [root@localhost password]# svnserve -d -r /opt/svn【说明:这个目录是svn的服务目录;one、two……是项目目录,如果不是第一次启动svn,就不用执行重启操作了】)
    // 启动
    
    
    测试
    SVN服务已经启动,使用客户端测试连接。 
    客户端检出连接地址:svn://192.168.15.231/one
    用户名/密码: zrp/123456
    测试创建文件夹等操作。

    Linux命令行下检出代码
    svn co svn://192.168.15.231/one /home/www(检出后的地址) --username zrp
    随后根据提示输入密码123456
    更新:svn up

    说明:假设版本库one中有多个项目:如meeting、test……,而我只想检出meeting的代码,这事检出的地址就是svn://192.168.15.231/one/meeting

    Linux下,svn的常用命令及错误处理

    1.检出代码:svn co svn://192.168.15.231/one/ /home/www/test --username root再根据提示输入密码 
    2.添加新文件:svn add test.html 添加多个:svn add ./*.html
    3.提交: svn ci -m ""(如果不加-m参数会报错)
    4.更新: svn up (注意:发生冲突时,需要先update,修改文件,然后清除svn resolved,最后再提交commit
    5.解锁文件: 如:svn unlock ./test.html
    6.将某文件更新到某版本: 如:svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)
    7.删除:svn delete ./test.html
    8.查看日志: svn log path(例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化 )
    9、查看文件详细信息 svn info path (例如:svn info test.php,如果仅仅是svn info则表示整个文件版本的信息)  
    10、比较差异 
    svn diff path(将修改的文件与基础版本比较) 
    例如:svn diff test.php 
    svn diff -r m:n path(对版本m和版本n比较差异) 
    例如:svn diff -r 200:201 test.php 
    简写:svn di 
    11、将两个版本之间的差异合并到当前文件 
    svn merge -r m:n path 
    例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下) 
    12、版本库下的文件和目录列表 
    svn list path 
    显示path目录下的所有属于版本库的文件和目录 
    简写:svn ls 
    13、创建纳入版本控制下的新目录 
    svn mkdir: 创建纳入版本控制下的新目录。 
    用法: 1、mkdir PATH… 
    2、mkdir URL… 
    创建版本控制的目录。 
    14、解决冲突 
    svn resolved: 移除工作副本的目录或文件的“冲突”状态。 
    用法: resolved PATH… 
    注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的 
    相关文件,然后让 PATH 可以再次提交。 
    时不我待,不负韶华!立刻行动!不吃学习的苦就会吃生活的苦!
  • 相关阅读:
    Hbuilder连接第3方模拟器(夜神)
    localStorage H5本地存储
    各种经典教程的收集分享
    laravel学习教程整理
    js-打地鼠游戏开发
    我的文件备份
    jQuery Ajax 简单的实现跨域请求
    HTML如何编写为桌面程序
    js调用打印机
    js base64加密解密
  • 原文地址:https://www.cnblogs.com/zrp2013/p/3548759.html
Copyright © 2011-2022 走看看