您的位置:首页 > 其它

Windows下SVN服务器的安装配置说明

2010-10-27 15:48 351 查看
Subversion,简称SVN,是一个开放源代码的版本控制系统(SCM),相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。主页:http://subversion.apache.org/

(一)安装

下载Setup-Subversion-1.6.6.msi,点击,一路安装即可,很简单。
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=11151&expandFolder=11151&folderID=260

开始菜单à运行à输入Cmd回车,敲“svn –version --quiet”,会得到SVN的版本号。

(二)配置
1、创建repository
Rrepository是存储数据的地方。
例如要在c:/svnroot下创建repository,
Cmd后切换到目录cd C:/Program Files/Subversion/bin
使用命令行svnadmin create c:/svnroot。如果执行正确的话,会在C盘下多一个svnroot的目录,目录下有4个目录和2个文件。

2、启动SVN服务
使用命令行svnserve –d –r c:/svnroot,这样外部就可以它能够过客户端来访问了, 此时cmd窗口需要一直开着保持。

或者cmd后执行脚本
sc create MySVNServer binpath= "/"C:/Program Files/Subversion/bin/svnserve.exe/" --service -r c:/svnroot" displayname= "SVNService" depend= Tcpip start= auto
就可以将svnserve程序作为服务载入。安装路径和存储数据的目录要根据自己的情况修改。
执行完这个脚本,可以去Control Panel-->Administrative Tools-->Services那里找找SVNService,如果没启动就启动。

(此命令行的说明:
(1)sc是windows自带的服务配置程序,MySVNServer 是服务的名称,似乎没什么用。
(2)参数binPath表示svnserve可执行文件的安装路径,由于路径中的"Program Files"带有空格,因此整个路径需要用双引号引起来。而双引号本身是个特殊字符,需要进行转移,因此在路径前后的两个双引号都需要写成/" 。
(3)--service参数表示以windows服务的形式运行,--r指明svn repository的位置,service参数与r参数都作为binPath的一部分,因此与svnserve.exe的路径一起被包含在一对双引号当中,而这对双引号不需要进行转义。
(4)displayname表示在windows服务列表中显示的名字, depend =Tcpip 表示svnserve服务的运行需要tcpip服务,start=auto表示开机后自动运行。安装服务后,svnserve要等下次开机时才会自动运行。 (5)binPath的等号前面无空格,等号后面有空格 displayname depend start也都一样
service前面是--,不是- ,而r前面是-
(6)若要卸载svn服务,则执行 sc delete svnserve 即可。 Svn8.Com
(7)从“sc”到“auto”是在同一个命令sc,必须写在同一行。)

3、基本设置
修改C:/svnroot/conf /svnserve.conf,注释很详细。
注意去掉前面的#号后前面不能有空格
[general]
anon-access=none
auth-access=write
password-db=passwd
authz-db=authz //注意此处,若你未修改C:/svnroot/conf中的authz文件, 则不需要去掉#号
realm=MyFirstRepository
[sasl]
#use-sasl=true
#min-encryption=0
#max-encryption=256
其中,anon-access=none表示要用户名和密码,password-db=passwd表示passwd是存身份验证的用户名和密码。sasl,就是加密访问用的,一般也可以不用。

4、用户管理
在C:/svnroot/repos/conf/passwd里添加有权限的用户名和密码。例如添加用户yobin,密码123456,就这样:
[users]
#harry=harryssecret
yobin=123456
hh=111
ss=222

5、分组管理和权限设置
Windows下SVN服务器中分组管理和权限设置。如果是所有文件对用户都可见的话,上面几步也足够用了。但要想对一些人可见,一些人不可见的话,就要去修改authz文件了。
&别名:别名的引用
@用户组名:某组用户
$authenticated:所有已授权用户
$anonymous:匿名用户
*:任何人
r:写权限
rw:读写权限
:不能访问(空,什么都不写)
设置用户权限的时候,'='左侧代表用户名称,可以是实际用户名,也可以是定义的用户组名,也可以是别名,但要用'@'作为前缀,或者是所有用户'*'。'='右侧代表设置的权限'r'、'rw'或者为空即代表用户对于该目录无任何权限。

authz文件中对版本库路径的表示方法。用'[/]'来表示版本库的根目录,如果有子目录foo,设置该目录权限时用'[/foo]'即可,其他任何目录都以'/'为版本根目录进行表示。注意了,别用”/“!!!
用户某个目录的权限是向子目录递归的。如果用户对于/foo目录有读写权限,则该用户对于foo目录下的所有子目录都有读写权限。如果不设置最上层的目录没有设置权限,那么就相当于不设置,禁止访问。权限分配,只可以分配到某个目录,而不能到某个文件。
写了一个例子,或者看看文件自带的吧,看看就明白了。
[aliases]
yy=yobin
[groups]
yy_hh_ss=&yy,hh,ss
[/folder1]
&yy=rw
hh=r
*=
[/folder2]
@yy_hh_ss=rw
*=r



输入正确的用户名和密码


在eclipse 中使用SVN时 URL路径:





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: