天天看點

啟動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伺服器了。