当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > freeBSD创建svn仓库

Unix/Linux
查看linux 下已经安装的软件包信息
linux 系统中软件raid 配置方法
linux 下MySQL服务器的启动与停止
linux 系统下FTP服务器配置方法
Linux系统下如何挂载U盘,硬盘,光驱
linux 系统下DHCP服务器 配置方法
Linux系统下软件的安装与卸载
在Fedora 9中启用ext4文件系统的方法
linux下挂载(mount)光盘镜像文件、移动硬盘、U盘、Windows网络共享和NFS网络共享
Linux查看文件夹大小的命令
LINUX系统grub常见错误分析
llinux fdisk分区工具 使用方法
linux 系统telnet乱码
rhythmbox 乱码的解决方法
linux单网卡绑定多ip
tar.gz 和tar.bz2 详细解释
linux学习笔记
linux系统rpm安装包详解
linux 服务器常用维护命令
出现The file /boot/grub/stage1 not read cor 解决办法

Unix/Linux 中的 freeBSD创建svn仓库


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-15   浏览: 170 ::
收藏到网摘: n/a

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:\svn\project1
使用以下命令启动svnserve

svnserve -d -r D:\svn\project1

在这种情况下,一个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:\svn\project1
如果使用以下命令启动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