如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subversion有更多的选择,也更加的容易,几个命令就可以建立一套服务器环境,可以使用起来。
1.下载Subversion服务器
到官方网站(http://subversion.tigris.org/)的下载二进制安装文件,来到“二进制下载部分”下载对应的系统版本。
2.下载下载Subversion的Windows客户端TortoiseSVN
TortoiseSVN是扩展WindowsShell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。官方网站(http://tortoisesvn.net/),下载方式和前面的svn服务器类似,在Download页面下载对应的版本。
3.安装
直接运行下载的安装文件,根据提示安装即可。
4.建立版本管理库(Repository)
运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:
svnadmin create E:\svndemo\repository
就会在目录E:\svndemo\repository下创建一个版本库。
也可以使用TortoiseSVN图形化的完成这一步:
新建一个空的文件夹,如在目录E:\svndemo下新建一个新的文件夹repository,然后在
E:\svndemo\repository下"右键->TortoiseSVN->Create Repository here...“
然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。
4.配置用户和权限
进入E:\svndemo\repository\conf目录,修改svnserve.conf:
# [general]
# anon-access = read
放开,且将read改为none,即
anon-access = none
# password-db = passwd
改为:
[general]
password-db = passwd
然后修改同目录的passwd文件,去掉下面三行的注释:
# [users]
# harry = harryssecret
# sally = sallyssecret
最后变成:
[users]
harry = harryssecret
sally = sallyssecret
在passwd文件中,“=”前的字符就是用户名,后面的就是密码。还要注意“[users]”前面的注释“#”一定要删除掉。
注意:以上两处修改必须去掉 空格 否则会出现一下错误,或者找不到路径等问题。
Commit failed (details follow):
Unable to connect to a repository at URL 'svn://localhost'
认证失败
5.启动svn服务
在任意目录下运行:
svnserve -d -r E:\svndemo\repository
采用这种方式,注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。弊端明显。
现介绍另一种启动方式:(windows系统开机自动启动svn服务)
创建autoRunSVN.bat文件,内容是:
sc create SVNService binpath= "\"D:\Program Files\Subversion\bin\svnserve\" --service -r E:\svndemo\repository" displayname= "SVNService" depend= Tcpip start= auto
pause
双击执行bat文件。
注意之处:
(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,必须写在同一行。
可以使用以下命令启动,停止svn服务:
启动服务:
C:\>net start svnservice
SVNService 服务正在启动 .
SVNService 服务已经启动成功。
停止服务:
C:\>net stop svnservice
SVNService 服务正在停止.
SVNService 服务已成功停止。
若要删除此自启动命令:
首先停止svn服务。
然后将上述bat文件中的“create”改为“delete”,然后双击执行此bat文件即可。
当然,还可以通过手动来启动设置svn服务。
同样在执行“create”bat文件之后
右键“我的电脑”---->"管理"---->“服务和应用程序”---->“服务”---->“SVNService“
手动控制。