Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2453962
  • 博文数量: 328
  • 博客积分: 4302
  • 博客等级: 上校
  • 技术积分: 5486
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-01 11:14
个人简介

悲剧,绝对的悲剧,悲剧中的悲剧。

文章分类

全部博文(328)

文章存档

2017年(6)

2016年(18)

2015年(28)

2014年(73)

2013年(62)

2012年(58)

2011年(55)

2010年(28)

分类: 项目管理

2013-06-04 12:52:22

1. 安装SVN

可以使用平台对应的安装包安装,也可以从源代码安装。安装完成之后可以用如下代码进行验证安装是否成功,可执行文件或者在/usr/bin 或者在/usr/local/bin (源代码安装)
svnserve –version

2. svn配置

建立svn版本库目录,可建多个:

mkdir -p /opt/svndata/repos1
svnadmin create /opt/svndata/repos1

修改svn版本库配置文件

vi /opt/svndata/repos1/conf/svnserve.conf
  1. [general]
  2. anon-access = none
  3. auth-access = write
  4. password-db = /opt/svn/conf/pwd.conf
  5. authz-db = /opt/svn/conf/authz.conf
  6. realm = repos1

配置允许访问的svn用户

vi /opt/svn/conf/pwd.conf
注意:对用户配置文件的修改立即生效,不必重启svn。
  1. [users]
  2. <用户1> = <密码1>
  3. <用户2> = <密码2>

配置svn用户访问权限

vi /opt/svn/conf/authz.conf
注意:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。

用户组格式:
[groups]
= ,
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。

版本库目录格式:
[:/项目/目录]
@ =
=

其中,方框号内部分可以有多种写法:
/,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/opt/svndata。这样,/就是表示对全部版本库设置权限。
repos1:/,表示对版本库1设置权限
repos2:/abc, ,表示对版本库2中的abc项目设置权限
repos2:/abc/aaa, ,表示对版本库2中的abc项目的aaa目录设置权限

权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。

  1. [groups]
  2. admin = john

  3. [/]
  4. @admin = rw

  5. [repos1:/abc/aaa]
  6. jason = rw

3. 启动svn

经过step1),step2),服务已配置好,可以启动了

svnserve  --daemon  --root  /opt/svndata/
关于--root的使用请参看:
文档中说 :如果一个版本库是位于/usr/local/repositories/project1,则一个客户端可以使用 svn://host.example.com/usr/local/repositories/project1 来进行访问
  
你可以使用svnserve的-r选项,这样会限制只输出指定路径下的版本库:  
$ svnserve -d -r /opt/svndata/
 
使用-r可以有效地改变文件系统的根位置,客户端可以使用去掉前半部分的路径,留下的要短一些的(更加有提示性)URL:
  
 $ svn checkout svn://host.example.com/project1
阅读(2727) | 评论(10) | 转发(2) |
给主人留下些什么吧!~~