SVN使用

Ø SVN入门文档

Ø 1简介

      入门文档包含工具下载,简历版本库,配置用户和基本权限,启动服务器4块功能.确保

   学习者对SVN的了解和简单实用.

      Subversion简称SVN是一个自由,开源版本管理工具,通过集中式版本管理系统确保由

   不同人所编辑的同以文件都得到更新.svn通过文档控制记录程序各个模块的改动,并为每

   次改动编上序号,确保可以获取不同版本文件

      SVN服务器有独立服务器和apache两种方式.存储版本有DB数据库中存放数据和普

   通文件,采用自定义的格式来存储,称为FSFS两种方式.

      TortoisSVNSubversion版本控制系统的一个免费客户端.

      SVN任何配置文件的有效配置行,都不允许存在前置空格.否则程序无法识别.

 2准备工作

   2.1 Subvserion服务器下载:

      http://subversion.tigris.org/servlets/ProjectDocumentList  或        

      http://subversion.apache.org/packages.html

      如果使用VisualSVN Serve服务器,查看下面地址信息

      http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407979.html

   2.2 Apache HTTP Server下载:

      http://httpd.apache.org/download.cgi

   2.3 TortoiseSVN客户单系在和汉化语言包下载

      http://tortoisesvn.net/downloads.html

 3建立服务器

  3.1 Apache HTTP Server

    3.1.1安装

     

 

    3.1.2修改配置文件并测试

  Apache HTTP Server出现下图情况

 

  

    在浏览器中输入http://localhost:80/如果Apache HTTP Server运行正

,浏览器页面会给予相应的提示.如果需要使用别的端口,httpd.conf配置

中修改Listen 80 Linsten port

    3.1.3SVN集成

       现在安装完Apache HTTP Server.再安装Subversion.需要整合Apache+Subversion

       打开Apache安装目录下的httpd.cong文件.找到以下的语句:

       #LoadModule dav_module modules/mod_dav.so

       #LoadModule dav_fs_module modules/mod_dav_fs.so

       将上面的的#去掉,再在它之后加入

       LoadModule dav_svn_module modules/mod_dav_svn.so

       LoadModule authz_svn_module modules/mod_authz_svn.so

       也可以Subversion/bin/下的mod_dav_svn.somod_authz_svn.so复制到apache下的

       modules/ 下,不过可能无效.

       最后,在文件的最后追加以下语句.

      <Location /svn>

        DAV svn

        SVNListParentPath on

        SVNParentPath D:\SVN

        #SVNIndexXSLT "/svnindex.xsl"

        AuthType Basic

        AuthName "Subversion repositories"

        AuthUserFile D:/svn/password/apache_authz  //存储认证信息的文件地址

        #AuthzSVNAccessFile svnaccessfile

        Require valid-user

     </Location>


            

      建立版本库(查看3.2.1)

      使用bin\htpasswd -c m passwd <username> 创建MD5加密密码的passwd文件名存储

      用户名和密码(配置SVN环境变量或cdSVN安装目录bin)后重新启动.在浏览器输

      入http://localhost:80/SVN 要求输入登陆信息.,输入无误

    3.1.4 SVN权限设置

     修改3.1.3中代码如下

     <Location /svn>

        DAV svn

        SVNListParentPath on

        SVNParentPath D:\SVN

        #SVNIndexXSLT "/svnindex.xsl"

        AuthType Basic

        AuthName "Subversion repositories"

        AuthUserFile D:/svn/password/apache_password  //存储认证信息的文件地址

        AuthzSVNAccessFile  “D:/svn/password/apache_authz” //设置目录权限

        #AuthzSVNAccessFile svnaccessfile

        Require valid-user

     </Location>

     

     最后在apache_authz文件中设置权限(具体看3.2.2)        

  3.2 SVNServer 服务器

    3.2.1建立版本库

      <1>通过命令

         svnadmin create  d:/svnserver/url(版本库存储地址

         这种方式有2个注意点:1是如果没有svnadmin命令,就要配置环境变量

         2d盘中必须有svnserver文件夹

      <2> TortoiseSVN工具创建

          在你要创建的版本库文件下,右键create Repository here....然后会在文件下

          创建一系列目录和文件.内容如下图.默认是db存放数据

   

      

    3.2.2配置用户和基本权限

      <1>修改conf/svnserve.config文件

       原来配置:

       [general]

       #anon-access=nono

       #auth-access=write

       #password-db=passwd

         anon-access=non为没验证用户没有任何权限.auth-access=write 已验证用户给予

       写权限(目前前两种配置值只支持non,read,write.如果想写成write_read方式,只能修

       改SVN源代码).password-db=password将密码存到passwd文件中authc-db=authc

       认证存到authc文件中.

      <2>修改confg/passwd 文件

        原来配置

        [users]

        #harry=harryssecret   

        #sally=sallyssecret

        按照不要#格式建立自己的用户名和密码

    3.2.3启动服务器

      <1>手动启动

          svnserve -d -r  d:/svnserver/url(版本库存储地址) .输入命令后不能关闭窗口,关闭

      窗口后SVN服务器就关闭啦.

      <2>服务自动

          将服务器注册成系统服务,subversion就会随电脑启动而启动.ApacheHTTP Server

          已经写成服务,这主要针对SVNServer服务器

          sc create subversion_service binPath=”F:/Office_Tool/Subversion/bin/vnserve.exe

          - -service -r  d:/svnserver/url” displayName=”Subversion Url” 执行后如下图:

       

       上图可以输出services.msc查看,并操作服务状态已启动,并且启动类型为自动.

       命令详情可以查看 sc create

     

     

     

Ø SVN进阶文档

 1简介

     是实际运用中项目目录本身作为版本库的一部分被SVN管理,所以我们无法利用操系

   统控制访问权限来实现项目目录的访问权限,所以只能通过SVN本身来解决.SVN1.3

   之前比较复杂.1.3以后在svnserve.exe服务器里面访问权限功能.随着版本升级这里介绍

   通过配置代码库配置文件,实现精细的目录访问权限控制.

 2假设背景

     2.1 SVN上文件目录如下图

        

         

 3权限设置

    设置权限前,先完成SVN入门文档中配置用户和基本权限的步骤.权限管理是遵从

用户-用户组-权限关系.用户组中有一系列文档权限.用户属于某用户组获取相应的权限.

用户与用户组和用户组与权限都是多对多关系.目录的权限具有继承和覆盖特性.比如父

目录设置读权限,那么子目录除明确设置权限外就具有西南文件夹相同权限;如子目录明

确设置权限,子目录将覆盖西父目录权限.SVN还有一重要规则:如果子目录只具有写权

,必须保证父目录有读权限,子目录写权限才有效.

3.1authz中建立用户组

    [groups]

     中国_USER=东南_USER,西北_USER,西南_USER

     外国_USER =意大利_USER

         其他_USER =火星_USER    

3.2 authz中建立权限设置

    在 [groups]设置之后,可对具体文件与用户组建立权限关系.例如

    [外国]

        @中国_USER=r

        @外国_USER=rw

         *=

          [外国]指文件夹路径,[中国/西南/云南]就是对云南文件夹进行设置.@中国_USER

       表示用户组,r表示读权限,w表示写权限.*= 表示除本目录设置用户组成员外其余成

       员禁止访问本目录.此配置不存在先后问题无论是*还是@中国_USER先配置,最终

       @中国_USER具有r权限.  

 4外网访问SVN

 5 SSL加密

   

  

Ø 引用资料

    1 Subversion官方手册:http://www.subversion.org.cn/tsvndoc/



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值