欢迎来到福编程网,本站提供各种互联网专业知识!

freeBSD创建svn仓库

发布时间:1970-01-01 作者:佚名 来源:互联网
1:创建仓库svnadmincreate/home/svn/reins(reins为我的代码仓库)同时修改权限chown-Rsvn:svn/home/svn/reins2:修改配置文件,svn的配置文件在/home/svn/reins/conf/下,三个配置文件分别为:passwdauthzsvnserve.conf下面分别记述三个配

1:创建仓库

svnadmin create /home/svn/reins(reins为我的代码仓库)

同时修改权限 chown -R svn:svn /home/svn/reins

2: 修改配置文件,svn的配置文件在/home/svn/reins/conf/下,三个配置文件分别为:passwd authz svnserve.conf

下面分别记述三个配置文件:

(1). passwd:(添加项目开发中的组和用户,看着本来的例子写就可以了)

[users]

p1_admin1 = p1_admin1

p1_d1 = p1_d1

(2).authz (这个文件中配置每个组或用户的读写权限,一定要小心,看着原来的例子写,一不小心就给你来个授权失败,尤其是那个路径[reins:/],我就在这里栽倒的!)

配置authz时,注意svnserve启动参数-r所指定的目录。

这里有两种情况:

A:-r直接指定到版本库(称之为单库svnserve方式)

比如,有一个库project1,位于D:svnproject1

使用以下命令启动svnserve

svnserve -d -r D:svnproject1

在这种情况下,一个svnserve只能为一个版本库工作.authz文件如果配置成下面这样就是错的,

[groups]

admin=user1

dev=user2

[project1:/]

@admin=rw

@doc=r

应该配置成

[groups]

admin=user1

dev=user2

[/]

@admin=rw

@doc=r

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

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

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

同样,有一个库project1,位于D:svnproject1

如果使用以下命令启动svnserve

svnserve -d -r D:svn

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

[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).svnserver.conf(注意没一行去掉#号后要顶格写,听别人说否则会报错,我没有试过)

#去掉#[general]前面的#号

[general]

#匿名访问的权限,可以是read,write,none,默认为read

anon-access = none

#认证用户的权限,可以是read,write,none,默认为write

auth-access = write

#密码数据库的路径,去掉前面的#

password-db = passwd

#认证用户的权限定义文件

authz-db = authz

3:启动svnserver服务

svnserver -d -r /home/svn/

如果提示已经有一个svnserver进程,可以用命令killall svnserver 来关闭该进程。

4.现在就可以在客户端用TortoiseSVN来checkout了

svn://172.31.12.38/reins

相关推荐