一、安装SVN服务器,到
http://subversion.apache.org/packages.html
Subversion for Windows
下载windows版的SVN,并安装,在命令行下运行svn命令,以下因此,则svn服务器安装成功。
C:\Documents and Settings\Administrator>svn
使用“svn help”获得用法。
二、建立仓库Repository:运行命令 (
注意:单仓库和多仓库模式——可参考文档SVN教程)
C:\Documents and Settings\Administrator>svnadmin create G:\svn
该命令会在G盘下自动建立一个名字为svn的文件夹,该文件中的内容如非必要,不要手动修改,其内容是由svn自动维护的,各自得用途:
conf里文件夹中都是这个仓库的配置文件。
db是真正用来存储数据版本的地方。
hooks文件夹中的内容用以定义某些动做触发的hook脚本。
locks中的文件用于在某些分支或者文件上加锁。
三、建立用户:进入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 html
四、用户权限配置
在每一个仓库下:有一个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只能该目录文件下载; shell
五、启动SVN服务器,运行命令svnserve -d -r G:\svn,就能够启动服务
C:\Documents and Settings\Administrator>svnserve -d -r G:\svn
-d表示后台运行,-r表示以超级管理员的方式运行,G:\svn是指SVN所管理的仓库。
六、配置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 便可
实例: apache
启动服务:
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客户端,就可使用了。 windows
另附: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