天天看點

windows下讓SVN服務開機自啟動

例:我的svn服務端軟體裝在D:\Program Fiels\Subversion下,版本庫在E:\svn\repository下

接下來使用指令建立服務:

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

解釋一下:

(1)sc是windows自帶的服務配置程式,sc 是服務的名稱,似乎沒什麼用。

(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 即可。  

這樣每次開機,svn服務就會自動開啟了!服務名稱是svn!

如果建立完服務後不想重新開機,就繼續在指令行下輸入

net start svn

如果安裝錯誤,可通過 sc delete svn 指令解除安裝服務,再重新安裝!

這裡需要注意的是,要注意建立服務時的指令格式,注意“=”後面有一個空格,開始我就是因為這個裝不上。

另外還需要注意的是,如果安裝服務端的時候,僅僅安裝了svn服務,而不是基于apache,那麼在用戶端通路的時候,位址應該是:svn://ip位址/版本目錄 的格式。通過https是通路不了的.