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

Unix/Linux
如何在linux下面运行招商银行专业版
Windows和Linux系统共存 完美解决方案
Linux 和对称多处理应用程序介绍
Red Hat Linux 附加引导和内核引导选项
Linux 2.6.11内核文件IO系统调用详解
走向高手之路 Linux系统内核技术解读
菜鸟乐园 Linux系统内核代码特色一览
Linux内核和传统Unix内核的比较
内核中的物理内存分配函数kernel api
使用 Linux 系统调用的内核命令
详细解析 Linux内核的主要配置选项
内核操作 Linux2.6内核驱动移植参考
Linux内存中Swap和Buffer Cache机制
高手进阶 更换Fedora Core 6的内核
高手风范 Linux操作系统内核编码风格
Linux操作系统内核中工作队列的操作
揭开Linux系统内核调试器的神秘面纱
系统“大挪移” Linux服务器迁移大法
高手进阶 重新编译Linux操作系统的内核
Ubuntu系统关于驱动模块命令的一些使用

Unix/Linux 中的 freeBSD创建svn仓库


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-15   浏览: 163 ::
收藏到网摘: 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