求SVN大神!我们公司项目比较多,老板要求我用SVN配置管理,具体要求是:让每个人拥有自己单独的目

求SVN大神!我们公司项目比较多,老板要求我用SVN配置管理,具体要求是:让每个人拥有自己单独的目录存放自己的项目,而且自己的项目只有自己能看,其他人不能看。我安装的SVN是和APACHE集成的,请问具体怎么实现这个功能?如何创建多个项目?如何去分配权限?分配权限需要分群组么?还是单个人就可以?求大神把每个配置文件的具体实现代码发出来,谢谢!!!急急急!!!

这个很简单,几个关键点把握好就行了:
1、apache的httpd.conf中,使用SVNParentPath,而不要用SVNPath,否则每次增加一个人的SVN库就要修改一次这个配置文件,就要重启一次apache。httpd.conf中加上类似如下一段内容:
<Location /svn/>
DAV svn
SVNParentPath f:\svn_repos
SVNListParentPath on
AuthType Basic
AuthName "Project SVN"
AuthUserFile f:\svn_repos\passwd.conf
AuthzSVNAccessFile f:\svn_repos\access.conf
Require valid-user
</Location>

其中SVNParentPath指向存放所有人的SVN库的父文件夹,AuthUserFile指向存放用户ID、密码的那个文件,AuthzSVNAccessFile指向权限控制文件。

2、给每个人建立一个单独的SVN库,手动命令行svnadmin create建库,或用类似TortoiseSVN的客户端建库,都行,建的库统一放到SVNParentPath指向的文件夹中。

3、权限文件中分不分组都无所谓了,反正你是一个人一个库,内容类似如下:
[groups]
scm = Your_ID
manager = Manager_ID

[/]
* =
@scm = rw
@manager = r

[user001_repo:/]
user001 = rw

[user002_repo:/]
user002 = rw

[user003_repo:/]
user003 = rw

按上面配置的话,你作为scm可以对所有库进行读写操作,你们的经理可以查看所有库的内容但不能修改,user001、user002、user003只能分别对名为user001_repo、user002_repo、user003_repo的库进行读写操作,而看不到其他库。(你也只告诉他对应的那个库的url就行了,不必告诉他上层的url)追问

如果服务器用的是SVNSEVER,也是一样的额配置么?

追答

如果不是和apache集成,而是svnserver方式,由于svnserver不支持父版本库(SVNParentPath),所以只能所有人都放在同一个仓库中,在这个仓库的根目录下为每个人建立一个文件夹,然后把这个文件夹的权限分配给对应的人。
svnserver方式的权限文件的格式和apache方式略有不同,但差异不大

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答