1. 配置服务器
打开仓库目录下的 conf/svnserve.conf 文件
********************************************
[general]
# anon-access = read
# auth-access = write
password-db = passwd
authz-db = authz
--------------------------------------------
去掉 password-db = passwd 和 authz-db = authz 的注释
前两行为匿名用户的权限
后两行为启用配置文件来对用户和权限进行管理
注意:所有配置信息必须顶格
2. 配置用户
打开仓库目录下的 conf/passwd 文件
[users]
admin=admin 等号左边为用户名,右边为密码
新增用户只需要在这里直接增加即可,如: oksonic = 123456
增加好用户以后需要重启SVN服务器
3. 配置工作组
打开仓库目录下的 conf/authz 文件,文件内容如下:
********************************************
# [groups]
# harry_and_sally = harry,sally
# [/foo/bar]
# harry = rw
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
--------------------------------------------
因为所有配置信息都被注释掉了,所以所有的用户都有管理员的权限(所有目录的读/写)
[groups] 这里的内容为组的配置
把已经建好的两个用户合并为一个分组,用户名之内以逗号分隔,配置内容如下:
********************************************
[groups]
admin_group = admin,oksonic
--------------------------------------------
4. 配置权限
SVN 的权限只有两个,1 是只读,2 是读/写
例:
********************************************
[/]
# 指定所有的仓库默认只读
* = r
# 指定 admin_group 组的用户对库中所有内容具有读/写权限
@admin_group = rw
--------------------------------------------
[/] :这里代表的仓库的目录,此为根目录
* = r : * 号代表所有的用户, r 为只读
现在需要建一个项目到仓库中
1. 在桌面建一个文件夹,如:SVN测试
2. 在目录中新建几个文件和文件夹以作测试
3. 使用客户端工具把目录中的所有文件加入到SVN服务器中的 test 目录中
5、使用SVNService
把那个SVNService.exe拷贝到SubVersion安装目录的bin目录里面
[1] 创建仓库,也就是创建一个保存你的代码历史的目录,有两种方法来:
*
使用SubVersion的命令:进入命令行,CD到SubVersionbin目录,运行命令:svnadmin create D:repository 。其中红色部分是要创建的仓库目录名,根据你的要求自己修改。
*
使用TortoiseSVN的命令:自己新建一个目录,在上面点击右键,TortoiseSVN->Create Repository->OK,仓库建好了。
[2] 仓库说明:
打开刚刚建立的仓库目录,你会发现里面有几个目录:
*
dav目录是提供给Apache与mod_dav_svn使用的目录,让它们存储内部数据,我之前使用的版本没有这个目录
*
db目录就是所有版本控制的数据文件
*
hooks目录放置hook脚本文件的目录
*
locks用来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端
*
format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号
*
conf目录是这个仓库的配置文件
[3] 创建密码:
进入conf目录,你会看到三个文件:authz、passwd和svnserve.conf,这些文件就是用来管理svn的登录名和相应的用户分组、密码、权限等功能。以下分别是三个文件的配置方法。
*
对svnserve.conf文件作如下修改,找到以下三行:
#anon-access = read
#auth-access = write
#password-db = passwd
将这三行前的“#”号去掉!
*
打开passwd文件:
在[users]下面增加用户名,例如:
mark123 = 45678 (前面是用户名,后面是密码)
*
关于authz文件,主要是做复杂的群组权限控制,我是单机个人使用,不用设置,只要上面passwd的用户名和密码就可以了