一、程序下载
1、下载 Subversion 服务器程序
从官方网站(http://subversion.tigris.org/)下载对应系统版本的服务器安装程序。
2、下载 TortoiseSVN 客户端程序
从官方网站 http://tortoisesvn.net/downloads 获取最新的 TortoiseSVN,同时把需要的语言包也下载下来 。
TortoiseSVN 是一个客户端程序,用来与 Subversion 服务器端通讯。Subversion 自带一个客户端程序 svn.exe ,但 TortoiseSVN 更好操作,提高效率。
二、程序安装
安装服务器端和客户端程序,可以自行修改安装目录,其他按照默认设置安装即可。
三、建立版本库
运行Subversion服务器需要首先要建立一个版本库(Repository)。版本库可以看作是服务器上集中存放和管理数据的地方。
开始建立版本库。首先建立 E:\SVNWorkspace 空文件夹作为所有版本库的根目录。然后进入SVNWorkspace 文件夹,【右击】->【TortoiseSVN】->【在此创建版本库】->【本地文件系统(FSFS)】,文件夹下会自动生成文件夹和文件。
- conf目录:用来设置管理的目录。
- db目录:所有版本控制的数据文件。
- hooks目录:放置hook脚本文件的目录。
- locks用来:放置Subversion文件库锁定数据的目录, 用来追踪存取文件库的客户端。
- format文件:一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。
此步骤也可在命令行下执行:
在命令行下进入到TortoiseSVN的bin目录。输入如下命令:
svnadmin create E:\SVNWorkspace
四、设置版本控制库权限
1、使用身份验证
使用文本编辑工具打开/conf/svnserve.conf,找到以下两句:
# [general] # password-db = passwd
去掉每行开头的#(#起的是注释作用),其中第二行是指定身份验证的文件名,即passwd文件
2、添加用户
使用文本编辑工具打开/conf/passwd,文件包含如下代码:
# [users] # harry = harryssecret # sally = sallyssecret
该文件是设置用户名和密码,一行一个,存储格式为“用户名 = 密码”。
去掉每一行前的“#”(#起的是注释作用),可在最后添加一行:admin = admin888,即为系统添加一个用户名为admin,密码为admin888的用户
五、启动服务
新建文本文件,并添加以下内容(蓝色字体为SVN安装路径和版本库路径,自行修改),然后修改名为svn-server.bat。
@echo off cd C:\Program Files\TortoiseSVN\bin c: set SVNPath=E:\SVNWorkspace\ TITLE %SVNPath% @echo on svnserve.exe --daemon --root %SVNPath%
运行svn-server.bat,SVN服务器即可正常启动。【右击】鼠标->【TortoiseSVN】->【版本库浏览器】,在【URL】中输入:svn://localhost/SVNWorkspace,即可浏览版本库树目录。
如果其他机器安装了 TortoiseSVN ,可远程联机访问。例如运行svnserve的主机的IP是133.96.121.22,则URL部分输入的内容就是“svn://133.96.121.22/SVNWorkspace” 。
六、开机自动运行SVN服务
新建文本文件,并添加以下内容(蓝色字体为Subversion 安装路径和版本库路径,自行修改, 红色斜杠不可缺少),然后修改名为autoRunSVN.bat。
sc create MySVNServer binpath= "\"C:\Program Files\CollabNet\Subversion Server\svnserve\" --service -r E:\SVNWorkspace" 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服务了。
补充:
如何删除服务?
打开CMD,输入以下代码,然后回车即可。此处serviceName不一定和显示的服务名称相同,在服务列表中选择你要删除的服务,右键属性,看到的第一行才是服务名称。
sc delete serviceName