1、安装SVN服务器,到http://subversion.apache.org/packages.html上下载windows版的SVN,并安装,在命令行下运行svn命令,如下所以,则svn服务器安装成功。
- C:\Documents and Settings\Administrator>svn
- 使用“svn help”得到用法。
2、创建仓库Repository:运行命令
- 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、启动SVN服务器,运行命令svnserve -d -r G:\svn,就可以启动服务
- C:\Documents and Settings\Administrator>svnserve -d -r G:\svn
-d表示后台运行,-r表示以超级管理员的方式运行,G:\svn是指SVN所管理的仓库。
5、配置SVN服务器开机启动
打开一个DOS窗口,在任意目录下执行下面的命令:
- //在命令中的每一个等号后面都要有一个空格否则命令执行失败
- sc create svnserve binPath= "\"C:\Program Files\Subversion\bin\svnserve.exe\" --service --root d:\svnstore" displayname= "SVN Serve" depend= Tcpip start= auto
其中,sc是windows自带的服务配置程序,参数binPath表示svnserve可执行文件的安装路径,由于路径中的"Program Files"带有空格,因此整个路径需要用双引号引起来。而双引号本身是个特殊字符,需要进行转移,因此在路径前后的两个双引号都需要写成\"
(sc create MySVNServer binpath= "D:\svn\bin\svnserve.exe --service -r F:\mysvn" displayname= "SVNService" depend= Tcpip start= auto )
--service参数表示以windows服务的形式运行,--root指明svn repository的位置,service参数与root参数都作为binPath的一部分,因此与svnserve.exe的路径一起被包含在一对双引号当中,而这对双引号不需要进行转义。
displayname表示在windows服务列表中显示的名字, depend =Tcpip 表示svnserve服务的运行需要tcpip服务,start=auto表示开机后自动运行。
安装服务后,svnserve要等下次开机时才会自动运行。
若要卸载svn服务,则执行 sc delete svnserve 即可