天天看点

启动Subversion svn-serve服务器

      这是我在启动Subversion svn-serve服务器的一点感想,本人初次尝试写这类文章,其中有不足之处请见谅,也希望大家给我一点建议。 

      这里我简单介绍一下在dos下启动Subversion svn-serve服务、用批处理执行开机自动启动,重点介绍一下在windows服务中启动Subversion 服务器。 

      Subversion服务器安装配置好之后,需要启动服务才能进行访问。通常情况可以在dos下启动,启动服务步骤是:点击开始菜单选择运行,在运行窗口对话框中输入cmd,进入dos界面,输入命令:svnserve –d –r D:/svnroot 这句命令的含义是:启动Subversion服务器的存储库,在D盘的svnroot目录下。这样服务器启动成功。要注意输入命令时的空格和大小写区分。 

      访问Subversion服务器每次都到dos下启动,的确很不人性化,如果计算机出现故障,需要重启,电脑启动完成之后,你要访问Subversion服务器,此时又要到dos下输入相同的启动命令,是否觉得很繁琐,现在我们可以通过计算机开机来启动服务,需要创建一个批处理程序,这个批处理程序很简单,代码就是启动服务的那行命令。我们创建一个批处理文件,名称为svnserve.bat,代码行svnserve –d –r D:/svnroot,将这个文件放到C:/Documents and Settings/Administrator/「开始」菜单/程序目录下面,然后重新启动computer,启动完成之后,桌面会弹出一个svnserve dos窗口,此时我们的Subversion服务器已经启动,现在可以进行访问了。Ok! 

      通过批处理来启动Subversion服务与每次在dos下输入命令行来启动要轻松很多,但是,如果你一个不小心将dos的命令窗口关闭了,现在又要访问服务器,那岂不是又要重新启动服务,或者重启计算机,我相信大家还是愿意在dos下输入非常熟悉的命令行代码。那么有没有方法来避免这种问题的发生呢?答案是肯定的。下面我们就来应用一下在windows服务中启动Subversion服务器。

        要将Subversion服务添加到windows服务中需要在dos下创建一个windows服务。命令如下:

          sc create svn binpath= "/"D:/Program Files/Subversion/bin/svnserve.exe/" --service -r D:/svnroot" displayname= "Subversion Server" depend= Tcpip start= auto 

      这样定义了一个新的windows服务,叫做"svn",会在启动时(这里根目录是D:/svnroot)执行特定的svnserve.exe。 

      首先,要注意svnserve.exe必须使用--service选项启动。svnserve的其它选项必须在同一行上指定,但是你不能使用冲突的选项,而选项-r或--listen-port 都没有问题。 

     其次,调用SC.EXE时必须注意空格:key= value的模式中key=之间必须没有空格,而且在与value之间只能有一个空格。 

     最后,必须注意执行的命令行中的空格,如果目录名中包含了空格,为了避免这些字符,将整个binpath值放在双引号中。按照上面的命令行输入就没有问题。

      定义好了服务,就可以使用服务管理控制面板进行停止、启动和查询,或者通过命令行:

      C:/> net stop svn

       C:/> net stat svn

      删除这个windows服务,输入命令C:/>sc delete svn

      创建服务成功之后,要到服务管理控制面启动服务,启动完成之后,就可以访问我们的Subversion服务器了。