[groups]
project1_committers = paulex, richard
project2_committers = jimmy, michel, spark, tony, Robert
[repos1:/]
* = r
@ project1_committer = rw
[repos2:/]
* = r
@ project2_committer = rw
这样 repos1的 project1_committer 组只能对 repos1 版本库下的文件具有写权限而不能修改版本库 repos2 ,同样 repos2 的 project2_commiter 组也不能修改 repos1 版本库的文件。
FAQ:
1、路径或权限不足时将出现错误信息提示:
http://localhost (路径不对)
Error * PROPFIND request failed on ''/'' PROPFIND of ''/'': 200 OK (http://localhost)
http://localhost/svn (权限不足)
Error * PROPFIND request failed on ''/svn'' PROPFIND of ''/svn'': 403 Forbidden (http://localhost)
http://localhost/svn/repos (正常显示)
http://localhost/repos (权限不允许)
Error * PROPFIND request failed on ''/repos'' PROPFIND of ''/repos'': 405 Method Not Allowed (http://localhost)
2、不启动E:subversionbinsvnserve.exe ,但启动了ApacheSVN ,访问(tortoiseSVN –> Repo – browser)或提交(SVN Commit)情形如下:
现象:svn://localhost/svn/repos 不能访问或提交,提示:Error * Can''t connect to host ''localhost'': 由于目标机器积极拒绝,无法连接。 但 file:///e:/svn/repos 和 http://localhost/svn/repos 可以访问或提交。
原因:svn:// 是独立服务器 svnserver 自己的协议。file:/// 是本地访问,即服务器端和客户端在一个机器上。
文章出处:http://www.diybl.com/course/1_web/webjs/2008410/109655_2.html
http://hi.baidu.com/yuncsoft/blog/item/19b41d5168e4a81c377abed6.html
安装svn服务器后,为了方便启动必须在windows下添加服务项
我们使用批处理完成,做这一步要注意,添加之后只能从注册表删除,如果你知道别的办法请留言。感激不尽。
sc create svnserver binpath= "C:Program FilesSubversionbinsvnserve.exe --service --root F:svn" displayname= "svnserver" depend= tcpip start= auto obj= "NT AUTHORITYNetworkService"
其中C:Program FilesSubversionbinsvnserve.exe 为svn的路径
F:svn 为版本库的目录
displayname= "svnserver" 为设置服务的名字
--root 是设置根目录 比如:原来你访问为:svn://localhost/svn
设置--root F:svn之后缩写为svn://localhost 这个一定要注意,否则Error: URL 'svn://localhost/svn'doesn't exist
自动更新的配置:
开发中经常要在更新SVN的同时要更新WEB服务器。可以用过Subversion的钩子(Hook)来实现。
以下是Windows操作系统下的配置:
在SVN库的hooks目录下面新建post-commit.bat文件,用记事本打开,然后写入如下的代码:
@echo off
SET REPOS=%1
SET REV=%2
SET DIR=%REPOS%/hooks
SET PATH=%PATH%;
SET WORKING_COPY=D:WebsitesLatisse
svn update %WORKING_COPY% –username user –password pwd









