Windows下自動啟動SVN服務詳解
本節介紹一下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,請關注本節其他相關報道。
【編輯推薦】