媚丶 發表於 2008-9-8 18:50:12

freeBSD创建svn仓库

<p>1:创建仓库<br />
svnadmin create /home/svn/reins(reins为我的代码仓库)<br />
<br />
同时修改权限 chown -R svn:svn /home/svn/reins<br />
<br />
2: 修改配置文件,svn的配置文件在/home/svn/reins/conf/下,三个配置文件分别为:passwd authz svnserve.conf<br />
<br />
下面分别记述三个配置文件:<br />
<br />
(1). passwd:(添加项目开发中的组和用户,看着本来的例子写就可以了)<br />
<br />
<br />
p1_admin1 = p1_admin1<br />
p1_d1 = p1_d1<br />
<br />
(2).authz (这个文件中配置每个组或用户的读写权限,一定要小心,看着原来的例子写,一不小心就给你来个授权失败,尤其是那个路径,我就在这里栽倒的!)<br />
<br />
配置authz时,注意svnserve启动参数-r所指定的目录。<br />
<br />
这里有两种情况:<br />
A:-r直接指定到版本库(称之为单库svnserve方式)<br />
比如,有一个库project1,位于D:\svn\project1<br />
使用以下命令启动svnserve <br />
<br />
svnserve -d -r D:\svn\project1<br />
<br />
在这种情况下,一个svnserve只能为一个版本库工作.authz文件如果配置成下面这样就是错的,<br />
<br />
<br />
admin=user1<br />
dev=user2<br />
<br />
@admin=rw<br />
@doc=r<br />
<br />
应该配置成<br />
<br />
<br />
admin=user1<br />
dev=user2<br />
[/]<br />
@admin=rw<br />
@doc=r<br />
<br />
因为表示库project1的根目录,而按上面的启动参数,是没有库的概念的。<br />
使用类似这样的URL:svn://192.168.0.1/ 即可访问project1<br />
<br />
B:-r指定到版本库的上级目录(称之为多库svnserve方式)<br />
同样,有一个库project1,位于D:\svn\project1<br />
如果使用以下命令启动svnserve<br />
<br />
svnserve -d -r D:\svn<br />
<br />
这种情况,一个svnserve可以为多个版本库工作,这时如果想限制指定库的指定目录,就应该指定具体的库,像这样<br />
<br />
<br />
admin=user1<br />
dev=user2<br />
<br />
@admin=rw<br />
@doc=r<br />
<br />
如果此时你还用[/],则表示所有库的根目录,同理,表示所有库的根目录下的src目录,使用类似这样的URL:svn://192.168.0.1/project1 即可访问project1<br />
这样的URL:svn://192.168.0.1/project2 即可访问project2<br />
<br />
(3).svnserver.conf(注意没一行去掉#号后要顶格写,听别人说否则会报错,我没有试过)<br />
<br />
#去掉#前面的#号<br />
<br />
#匿名访问的权限,可以是read,write,none,默认为read<br />
anon-access = none<br />
#认证用户的权限,可以是read,write,none,默认为write<br />
auth-access = write<br />
#密码数据库的路径,去掉前面的#<br />
password-db = passwd<br />
#认证用户的权限定义文件<br />
authz-db = authz<br />
<br />
3:启动svnserver服务<br />
svnserver -d -r /home/svn/<br />
如果提示已经有一个svnserver进程,可以用命令killall svnserver 来关闭该进程。<br />
<br />
4.现在就可以在客户端用TortoiseSVN来checkout了<br />
svn://172.31.12.38/reins</p>
頁: [1]
查看完整版本: freeBSD创建svn仓库