zoukankan      html  css  js  c++  java
  • linux下svn服务器的搭建

    今天尝试搭建了一个SVN服务器玩玩,网上东拼西凑找了些资料。

    参考链接http://blog.csdn.net/tianlesoftware/article/details/6119231

    SVN 简介

          Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。

    SVN中的一些概念 :

    (1). repository(源代码库)

           源代码统一存放的地方

    (2). Checkout (提取)

           当你手上没有源代码的时候,你需要从repository checkout一份

    (3). Commit (提交)

           当你已经修改了代码,你就需要Commit到repository

    (4). Update (更新)

           当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更 

       日常开发过程其实就是这样的(假设你已经Checkout并且已经工作了几天):Update(获得最新的代码) -->作出自己的修改并调试成功 --> Commit(大家就可以看到你的修改了) 。

           如果两个程序员同时修改了同一个文件呢,  SVN可以合并这两个程序员的改动,实际上SVN管理源代码是以行为单位的,就是说两个程序员只要不是修改了同一行程序,SVN都会自动合并两种修改。如果是同一行,SVN会提示文件Confict, 冲突,需要手动确认。

    客户端软件:

           (1)Windows下常用的客户端软件常用TortoiseSVN。它是一个免费的开源的客户端。

           (2)向Myeclipse,也有一些SVN的插件。

    SVN 服务器搭建

    使用yum 安装SVN包:

    [root@singledb ~]# yum install -y subversion

    验证安装版本:

    [root@singledb ~]# svnserve --version

    三. 创建SVN 版本库

    [root@singledb ~]# mkdir /u02/svn

    [root@singledb ~]# svnadmin create /u02/svn/davesvn  --davesvn为版本库名称

    SVN 配置

    创建版本库后,在这个目录下会生成3个配置文件:

    [root@singledb conf]# pwd

    /u02/svn/davesvn/conf

    [root@singledb conf]# ls

    authz  passwd  svnserve.conf

    (1)svnserve.conf:svn服务配置文件。

    (2)passwd:用户名口令文件。

    (3)authz:权限配置文件。 

    svnserve.conf 文件

    该文件配置项分为以下5项:

           anon-access: 匿名用户访问版本库的权限。

           auth-access:  非匿名用户访问版本库的权限。

           password-db: 指定用户名口令文件名。

           authz-db:指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。

           realm:指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件

    Passwd 文件 :

           我们在svnserve.conf文件里启用这个文件。然后配置如下:

    [root@singledb conf]# cat passwd

    ### This file is an example password file for svnserve.

    ### Its format is similar to that of svnserve.conf. As shown in the

    ### example below it contains one section labelled [users].

    ### The name and password for each user follow, one account per line.

    [users]

    # harry = harryssecret

    # sally = sallyssecret

    dave = davepwd

    tianlesoftware = tianlesoftwarepwd

    配置我们的authz文件:

    [root@singledb conf]# cat authz

    [groups]

    admin = dave

    dev=tianlesoftware

    [davesvn:/]

    @admin = rw

    @dev = rw

    启动和停止SVN服务

    (1)启动SVN服务:

    [root@singledb conf]# svnserve -d -r /u02/svn

           -d表示后台运行

           -r 指定根目录是 /u02/svn

    [root@singledb conf]# ps -ef | grep svn

    root      4592     1  0 18:04 ?        00:00:00 svnserve -d -r /u02/svn

    root      4594  3709  0 18:04 pts/1    00:00:00 grep svn

    (2)停止SVN服务:

    ps -aux |grep svn

    kill -9 进程杀掉

  • 相关阅读:
    nginx不支持pathinfo模式解决方法
    php只保留两位小数
    分享图文到QQ空间
    android 使用信鸽推送通知栏不显示推送的通知?
    Editetext获取焦点后让输入软键盘中出现搜索按键
    Android EditText的使用过程中遇到的问题
    在线根据现有apk生成指定id的推广apk (已过时)
    @Validated和@Valid区别
    idea快捷键使用总结
    大概
  • 原文地址:https://www.cnblogs.com/nickqian/p/4047389.html
Copyright © 2011-2022 走看看