svn服务器的搭建

1.svn是什么?

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


2.svn和git的区别?
        Git是分布式的,而Svn不是分布的
        Git把内容按元数据方式存储,而SVN是按文件
        Git没有一个全局版本号,而SVN有
        Git的内容的完整性要优于SVN
        Git下载下来后,在OffLine状态下可以看到所有的Log,SVN不可以

        ......


3.服务端运行访问方式
        1.独立访问:svn://...

        2.借助apache等http服务:http://...


4.svn存储版本数据的方式
        1.BDB事务安全型(在服务器中断时可能锁住数据),1.2以前缺省配置

        2.FSFS不需要数据库的存储系统,1.2以后缺省配置


5.缺点
        每次提交都保留一个原始副本,容量会暴增

        如果不能连接,则无法进行同步


6.优点
        管理方便,逻辑清晰,易于管理保证数据安全
        代码一致性非常高
        适合人数不多的项目开发

        普及度比较高


7.安装svn
        1.准备Linux环境,centos或者Ubuntu
        2.检查是否安装svn
            # rpm -qa subversion
        3.如果没有安装,则使用(如果需要保留yum下载的安装包,需要修改/etc/yum.conf 文件中的keepcache值为1)

            # yum -y install subversion


8.配置并启动svn

        创建svn的数据目录以及密码权限目录
        mkdir -p /usr/svn/data
        mkdir -p /usr/svn/passwd
        启动svn
            # svnserve -d -r /usr/svn/data
        创建版本库doc
            # svnadmin create /usr/svn/data/doc
            ----------------------
            conf  db  format  hooks  locks  README.txt
            ----------------------
        管理版本库
            cd /usr/svn/data/doc/conf
                ----------------------
                authz 权限管理文件
                passwd 用户和密码文件
                svnserve.conf 主配置文件
                ----------------------
            **修改之前先备份文件
            打开12-13、20、27行注释
                ----------------------
                12 anon-access = none 禁止匿名访问
                13 auth-access = write
                20 password-db = passwd 或者同一管理  password-db = /usr/svn/passwd/passwd
                27 authz-db = /usr/svn/passwd/authz
                ----------------------
            使用diff 命令比较配置文件与备份文件内容
                ----------------------
                12,13c12,13
                < # anon-access = read
                < # auth-access = write
                ---
                > anon-access = none
                > auth-access = write
                20c20
                < # password-db = passwd
                ---
                > password-db = /usr/svn/passwd/passwd
                27c27
                < # authz-db = authz
                ---
                > authz-db = /usr/svn/passwd/authz
                ----------------------
            拷贝authz和passwd文件到/usr/svn/passwd下
                ----------------------
                cp authz passwd /usr/svn/passwd/
                ** 修改权限 chmod 700 *
                ----------------------
            添加用户 vi passwd
                ----------------------
                [users]
                test = test
                ...
                ----------------------
            修改权限 vi authz
                ----------------------
                语法:
                [版本库:/项目/目录]
                @用户组 = 权限
                用户 = 权限
                
                [groups]
                # mg = test,...

                [doc:/]
                test = r
                # 或者 @mg = r

                ----------------------


9.卸载svn

        # yum remove subversion


10.在windows下使用svn客户端访问

        使用svn://svnserverIP/doc


11.注意
        更改svnserve.conf文件时需要重启svn服务,修改anthz和passwd时不需要重启

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值