本节介绍一下Windows下自动启动SVN,包括安装svnservice,配置服务是自动启动和删除服务几部分,在这里和大家简单介绍分享一下,希望通过本节的学习你能掌握Windows下自动启动SVN的方法。
以前的svnserve要想成为windows服务,必须依赖于svnservice或其他工具。从Subversion1.4开始,Subversion本身就集成Windows服务的工具。
1.安装svnservice
在WindowsNT中(包括WindowsXP,Windows2000,Windows2003Server)本身包含了一个安装服务的工具,叫做"ServiceControl",也就是sc.exe。
例如我的Subversion安装在"D:Subversion",版本库在"D:svnroot",而我希望对应的Subversion服务名为svnservice,安装这个svn服务的命令就可以这样写:
sccreatesvnservice
binpath="D:Subversionbinsvnserve.exe--service-rD:svnroot"
displayname="SVNService"
depend=Tcpip
请注意,因为便于察看,上面的命令分为多行,但在实际执行时应该在一行里。另外,在以前启动svnserve时会使用"-d"选项,也就是守护进程模式,在这里不能使用,会导致服务无法启动。同样,"-i"和"-t"选项也不能使用。
在命令行窗口执行完这个命令之后,服务还没有启动,你可以继续运行"netstartsvnservice"启动这个服务,然后使用"netstopsvnservice"停止服务。
另外还有两点需要小心处理。首先,如果路径中包括空格,一定要用“”处理“"”号,例如上面的例子中如果svnserve.exe在“c:programfilessubversion”中,则命令应该写为“binpath=""c:programfilessubversionbinsvnserve.exe"”(“”中的内容),整个命令如下,红色部分是改变部分:
sccreatesvnservice
binpath=""D:programfilesSubversionbinsvnserve.exe"--service-rD:svnroot"
displayname="SVNService"
depend=Tcpip
其次,sc对选项的格式还有要求,例如“depend=Tcpip”不能写为“depend=Tcpip”或“depend=Tcpip”,也就是“=”前不能有空各,而后面必须有空格。
2.删除服务
如果服务安装的有问题,你可能需要删除服务。要删除前面添加的服务,只需要运行"scdeletesvnservice","svnservice"就是我们创建服务时使用的名字。
3.配置服务是自动启动SVN
默认情况下安装的服务不会随Windows的启动而启动SVN,为了使svn服务能够随Windows启动而启动,需要修改一下"sccreate"命令(首先要删除),增加"start=auto"选项:
sccreatesvnservice
binpath="D:\Subversion\bin\svnserve.exe--service-rD:\svnroot"
displayname="SVNService"
depend=Tcpip
start=auto
当然你也可以使用图形化的工具修改服务的属性,你可以在“开始->运行...”中执行"services.msc",然后在界面中修改。
查考文献:http://www.blogjava.net/Alpha/archive/2007/08/29/141108.html
注意:在使用eclipseSVN插件时,我发现原来的路径不管用了,所以创建服务的时候要注意binpath="D:\Subversion\bin\svnserve.exe--service-rD:\svnroot"svnroot是你库的上一个目录。我就犯了这个错误了地址写成了D:\svnroot\demo,结果我客户端访问svn://localhost/svnroot/demo是提示non-existentinthatrevision,修改成svn://localhost/就能访问了,当然如果你就使用一个库的话,刚才的访问就更方便了。本节介绍Windows下自动启动SVN,请关注本节其他相关报道。
【编辑推荐】