• Ubuntu安装svn


    目录

    安装svn和创建版本库...…………..1

    用户权限管理... ………………………2

    启动SVN.. ………………………………3

    客户端访问...…………………………. 4

    附加:单版本库和多版本库的配置

    安装svn和创建版本库

    1、  安装:sudo apt-get  install subversion.            //安装的内容一般存放在/usr/bin/

    2、  检查安装是否成功:/usr/bin/svnserve --version

    以下已创建MCD项目版本库(单版本库)为例

    3、创建文件夹:mkdir –p /opt/src/repositories/          //存放版本库

    4、进入repositories目录:cd /opt/src/repositories/,创建MCD版本库

       a、创建文件夹 mkdir MCDRE,

       b、创建版本库并指定数据存储模式为FSFS:

    /usr/bin/svnadmin create --fs-type fsfs /opt/src/repositories/MCDRE/

       c、检查是否创建成功:ls  /opt/src/repositories/MCDRE/,显示以下内容创建成功

                conf  db  format  hooks  locks  README.txt

    5、创建项目临时目录:mkdir –p /opt/src/temps/MCD/{trunk,tags,branches}

    6、复制项目文件到trunk目录下:cp –r MCD /opt/src/temps/MCD/trunk/  //这一步可以忽略

    7、导入所需要的项目到版本库MCDRE中:

       /usr/bin/svn import /opt/src/temps/MCD/  file:///opt/src/reposiories/MCDRE/ -m “MCD repository” 

    8、检查是否导入成功:/usr/bin/svn list –verbose file:///opt/src/repositories/MCDRE/

    9、修改版本库文件权限:

    chmod 770 /opt/src/repositories/MCDRE

    chmod –R g+w /opt/src/repositories/MCDRE

    用户权限管理

    涉及的主要由三个文件:svnserve.conf、passswd、authz 

    //存放于/opt/src/repositories/MCDRE/conf/

    1、  Svnserve.conf: 版本库的配置文件;passwd: 允许访问版本库的用户文件;authz: 用户访问版本库的权限

    a、 修改svnserve.conf文件:vi /opt/src/repositories/MCDRE/conf/ svnserve.conf,该文件的内容包括(注意:每一行前面不能有空格,否则会出现Option expected错误):

    [general]

    #anon-access = none                   //设置是否允许匿名登录

    auth-access = write                     //设置用户密码登陆

    password-db = passwd                //指定passwd文件的位置

    authz-db = authz                        //指定authz文件的位置

    realm = repository

    [sasl]

    b、修改passwd文件:vi /opt/src/repositories/MCDRE/conf/ passwd,该文件的内容包括:

    [users]

     wshijun1=wshijun1                         //用户名=密码,每个用户一行

    wshijun2=wshijun2

    c、修改authz文件:vi /opt/src/repositories/MCDRE/conf/authz,该文件的内容包括:

             用户组格式:

    [groups]

    qianqiu=wshijun1,wshijun2//用户间以逗号分割

    版本库目录格式:

    [/]   

    @qianqiu=permissions  //用户组名=权限

    [/trunk/doc]   //指定该用户只能访问该目录

    Lwchuhao2=permissions  //用户名=权限

    []可以有多种定义 /表示对全部的版本库设置权限,repos1:/表示对repos1设置权限,repos2:/www表示对repos2中的www项目设置权限,repos2:/www/example.com表示对repos2中的www项目的example.com目录设置权限。(注:svn客户端访问时也许按照设置的路径进行访问,如:svn://192.168.0.9/trunk/doc)可以用*来表示所有用户。

    权限可以设置为w,r,wr和空,空表示没有任何权限。

    注意:权限配置文件中出现的用户名必须在passwd文件中有定义过,对权限配置文件authz的修改会立即生效。

    启动SVN

    至此配置已完成。

    1、启动SVN:

    /usr/bin/svnserve –d –listen-port 9999 –r /opt/src/repositories/MCDRE

    -d 以daemon方式运行

    --listen-port 监听端口号,默认端口3690

    -r 指定目录

    2、检查是否启动成功:netstat –tunlp | grep 9999

      tcp       0             0 0.0.0.0:9999               0.0.0.0:*         LISTEN 出现以上信息说明启动成功

    3、停止SVN服务:killall svnserve

    客户端访问

    1、  Windows下安装TortoiseSVN:使用svn://192.168.0.9: 9999/访问

    2、  Linux下# svn checkout svn://192.168.50.10:9999

    附加:单版本库和多版本库的配置

    权限文件authz在apche与svnserve服务器上的配置不同,单版本库和多版本库上的配置也有不同。

    1.配置authz时,如果svnserve的启动参数 -r 所指定的目录为直接指定到版本库(称之为单库svnserve方式)

      例如:svnserve -d -r d:\svn\project1

    在这种情况下,一个svnserve只能为一个版本库工作。

    authz如果配置成下面这样就是错的:

    CODE:

    [groups]

    admin=user1

    dev=user2

    [project1:/]

    @admin=rw

    @doc=r

    应该配置成

    CODE:

    [groups]

    admin=user1

    dev=user2

    [/]

    @admin=rw

    @dev=r

    因为[project1:/]表示project1的根目录,而按上面的启动参数,是没有库的概念的。

    使用类似这样的URL:svn://192.168.0.1/  即可访问project1

    2.-r指定到版本库的上级目录(称之为多库svnserve方式)

    如果使用以下命令启动svnserve:

    CODE:

    svnserve -d -r d:\svn


    这种情况,一个svnserve可以为多个版本库工作,这是如果想限制指定库的指定目录,就应该指定具体的库,想像这样:

    CODE:

    [groups]

    admin=user1

    dev=user2

    [project1:/]

    @admin=rw

    @doc=r

    如果此时你还用[/],则表示所有库的根目录,同理,[/src]表示所有库的根目录下的src目录

    使用类似这样的URL:svn://192.168.0.1/project1 即可访问project1

    这样的URL:svn://192.168.0.1/project2 即可访问project2

    3.对中文目录进行权限控制时,应该将权限文件authz改为utf-8格式。

    参考

    http://who0168.blog.51cto.com/253401/579061

  • 相关阅读:
    【Uvalive4960】 Sensor network (苗条树,进化版)
    【UVA 1151】 Buy or Build (有某些特别的东东的最小生成树)
    【UVA 1395】 Slim Span (苗条树)
    【UVA 10600】 ACM Contest and Blackout(最小生成树和次小生成树)
    【UVA 10369】 Arctic Network (最小生成树)
    【UVA 10816】 Travel in Desert (最小瓶颈树+最短路)
    【UVA 11183】 Teen Girl Squad (定根MDST)
    【UVA 11865】 Stream My Contest (二分+MDST最小树形图)
    【UVA 11354】 Bond (最小瓶颈生成树、树上倍增)
    【LA 5713 】 Qin Shi Huang's National Road System (MST)
  • 原文地址:https://www.cnblogs.com/hidewsj/p/2846630.html
Copyright © 2020-2023  润新知