下载windows版的SVN,并安装,在命令行下运行svn命令,如下所以,则svn服务器安装成功。
C:\Documents and Settings\Administrator>svn
使用“svn help”得到用法。
2、创建仓库Repository:运行命令 ( 注意:单仓库和多仓库模式——可参考文档SVN教程)
C:\Documents and Settings\Administrator>svnadmin create G:\svn
该命令会在G盘下自动创建一个名字为svn的文件夹,该文件中的内容如非必要,不要手动修改,其内容是由svn自动维护的,各自得用途:
conf里文件夹中都是这个仓库的配置文件。
db是真正用来存储数据版本的地方。
hooks文件夹中的内容用以定义某些动作触发的hook脚本。
locks中的文件用于在某些分支或者文件上加锁。
3、创建用户:进入conf目录(本例中是G:\svn\conf),打开svnserve.conf文件,找到如下内容:
[general]
### These options control access to the repository for unauthenticated
### and authenticated users. Valid values are "write", "read",
### and "none". The sample settings below are the defaults.
# anon-access = read
# auth-access = write
### The password-db option controls the location of the password
### database file. Unless you specify a path starting with a /,
### the file's location is relative to the directory containing
### this configuration file.
### If SASL is enabled (see below), this file will NOT be used.
### Uncomment the line below to use the default password file.
# password-db = passwd
将
# anon-access = read
# auth-access = write
# password-db = passwd
中的注释去掉修改为
anon-access = read
auth-access = write
password-db = passwd
这样就可以使用passwd文件中的用户了。
打开passwd(和svnserve.conf在同目录下),可以看到,创建好的两个用户都被注释掉了,可以修改者两个用户,也可以新建自己的用户,这里我新创建了一个自己的用户,passwd文件被修改为:
[users]
# harry = harryssecret
# sally = sallyssecret
admin=admin
4、用户权限配置
在每个仓库下:有一个conf文件夹,下面有三个文件
svnserve.conf (svn配置文件)
authz (授权)
passwd (认证)
1)先配置svn配置文件----- svnserve.conf
anon-access = none 禁用匿名用户访问(必须提供身份) 三种:none、read、write
password-db = passwd 开启认证功能(到passwd文件里认证)
authz-db = authz 开启授权功能(到authz文件里授权)
2)再配置认证文件------- passwd
[users]
# harry = harryssecret
# sally = sallyssecret
用户名 = 密码
xiaoqiang = 111
xiaoming = 222
xiaozi = 333
3)配置授权文件-------- authz
# [/foo/bar]
# harry = rw
# &joe = r
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[groups]
group1=人员A,人员B
group2=人员C
[仓库名:/]
@group1 = rw
@group2 = r
* =
[groups]
mygroup1=xiaoqiang,xiaoming
mygroup2=xiaozi
[public:/]
@mygroup1 = rw
@mygroup2 = r
* =
xiaoqiang和xiaoming可以对public目录文件下载和提交;
xiaozi只能该目录文件下载;
C:\Documents and Settings\Administrator>svnserve -d -r G:\svn
-d表示后台运行,-r表示以超级管理员的方式运行,G:\svn是指SVN所管理的仓库。
6、配置SVN服务器开机启动
打开一个DOS窗口,在任意目录下执行下面的命令:
//在命令中的每一个等号后面都要有一个空格否则命令执行失败
sc create svnserve binPath= " \" C:\Program Files\Subversion\bin\svnserve.exe \" --service --root d:\svnstore" displayname= "SVNServe" depend= Tcpip start= auto
其中,sc是windows自带的服务配置程序, 参数binPath表示svnserve可执行文件的安装路径,由于路径中的"Program Files"带有空格,因此整个路径需要用双引号引起来。而双引号本身是个特殊字符,需要进行转移,因此在路径前后的两个双引号都需要写成\"
--service参数表示以windows服务的形式运行, --root指明svn repository的位置,service参数与root参数都作为binPath的一部分,因此与svnserve.exe的路径一起被包含在一对双引号当中,而这对双引号不需要进行转义。
displayname表示在windows服务列表中显示的名字, depend =Tcpip 表示svnserve服务的运行需要tcpip服务,start=auto表示开机后自动运行。
安装服务后,svnserve要等下次开机时才会自动运行。
若要卸载svn服务,则执行 sc delete svnserve 即可
实例:
启动服务:
svnserve -d -r F:\Subversion\myapp
开机启动服务:
sc create svnserve binPath= "\"F:\Subversion\server\bin\svnserve.exe\" --service --root F:\Subversion\myapp" displayname= "SVNServe" depend= Tcpip start= auto
删除启动启动:
sc delete svnserve
这样SVN的配置就完成了,到 http://tortoisesvn.net/downloads.html 下载一个SVN客户端,就可以使用了。
另附:SVN服务器开机启动说明
创建autoRunSVN.bat文件,内容是: sc create MySVNServer binpath= "\"C:\Program FilesSubversion\svnserve\svnserve\" --service -r H:\homerepos" displayname= "SVNService" depend= Tcpip start= auto pause
注意之处:
(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 即可。
(7)从“sc”到“auto”是在同一个命令sc,必须写在同一行。 创建成功后,可以在运行中键入service.msc察看系统服务,找到SVNService项,查看这项服务的属性,可以使用Windows提供的界面操作SVNService服务了。
也可以使用命令行启动、停止服务。
启动服务: C:\>net start svnservice SVNService 服务正在启动 . SVNService 服务已经启动成功。
停止服务: C:\>net stop svnservice SVNService 服务正在停止. SVNService 服务已成功停止。
删除创建的服务 C:\>sc delete svnservice
来源:oschina
链接:https://my.oschina.net/u/778827/blog/147418