也可以用命令的方式来创建版本库,命令如下:
svnadmin create --fs-type fsfs C:/SVN/project1
创建版本库 本地文件格式。
svnadmin create --fs-type bdb C:/SVN/project1 创建版本库 数据库格式。
这个时候你可以发现在project1下面创建了一些版本库文件,其中conf目录下的三个文件就是配置文件,现在我们就来配置这三个文件,达到权限控制的效果.
首先我们假设在project1项目下的目录结构是这样的,有个dev目录,放着开发的东西,只允许开发人员来读写访问,还有一个test目录,放着测试的东西,只允许测试人员来读写访问.并且管理人员对这两个目录都有读写权限.
我们先打开svnserve.conf文件,进行编辑
anon-access = read auth-access = write password-db = passwd 指定用户名文件,因为该文件在当前目录下,所以可以直接写文件名 authz-db = authz 指定权限控制文件,因为该文件在当前目录下,所以可以直接写文件名 为了防止一切匿名访问,我们可以 把anon-access = read 改成anon-access = none
然后再配置passwd文件,在users下设置三个用户名及其密码
[users] admin = admin xiaonan1 = xiaonan1 xiaonan2 = xiaonan2
继续配置authz文件,在groups下配置权限
[groups] groupadmin = admin group_dev = xiaonan1 group_test = xiaonan2
[project1:/] @groupadmin = rw
[project1:/dev] @groupadmin = rw @group_dev = rw @group_test =
[project1:/test] @groupadmin = rw @group_test = rw @group_dev =
打开cmd,创建一个服务,并启动该服务
sc create svnservice binpath= "/"D:/program files/Subversion/bin/svnserve.exe/" --service -r D:/svnroot" displayname= "SVNService" depend= Tcpip star= auto 创建服务,红色部分修改成自己的subversion安装目录
在D盘创建一个名为project1的目录,在project1下继续创建名为dev和test的两个目录.选中project1鼠标右击,导入到版本库.svn://localhost/project1.可以验证刚才设置的权限.