2 版本控制-Subversion安裝、版本庫配置、啟動服務器端程序
1. 安裝服務器端程序
①服務器端程序版本
目前Subversion的最新版本是 1.9.0-alpha2,這是一個測試版。官方網站推薦使用的版本是1.8.9,原話是:The best available version of Apache Subversion is: 1.8.9
②下載源碼包
Apache組織自己維護更新的只是Subversion的源碼,各個版本的源碼包的下載地址是:http://subversion.apache.org/download/
Subversion源碼是使用C語言開發的。
③下載二進制安裝包
Subversion在不同平臺下的二進制包是由不同組織構建實現的,Windows平臺下的二進制包實現情況如下:
所以,服務器端程序的下載地址可以使用:
http://sourceforge.net/projects/win32svn/files/latest/download
下載到的文件是:Setup-Subversion-1.8.9-1.msi
④雙擊運行Setup-Subversion-1.8.9-1.msi
不整合Apache服務器可以忽略此選項
⑤安裝程序會自動配置Path環境變量
D:\DevInstall\Subversion\bin
所以bin目錄下的可執行文件可以在任意目錄下運行。
⑥驗證是否安裝成功
在命令行輸入:svn --version
看到如下信息就表示服務器端程序安裝成功
2 配置版本庫
①為什麽要配置版本庫?
Subversion是將文件數據信息保存到版本庫中進行管理的,為了滿足用戶的不同需求,Subversion允許用戶對版本庫目錄進行定制。
②在一個非中文無空格目錄下創建一個文件夾,作為版本庫的根目錄。
例如:D:\DevRepository\Subversion
③在版本庫根目錄下創建與具體項目對應的子目錄——這樣做的目的是使一個SVN服務器能夠同時管理多個項目,而不是為每一個項目搭建一個SVN服務器——這顯然太浪費資源了。
例如:D:\DevRepository\Subversion\CRM
D:\DevRepository\Subversion\ERP
D:\DevRepository\Subversion\OA
④創建版本庫
命令格式
主命令 |
子命令 |
參數1 |
svnadmin |
create |
倉庫路徑 |
舉例 |
svnadmin create D:\DevRepository\Subversion\StuSys |
⑤版本庫目錄結構
版本庫創建成功後會在指定目錄下產生如下的目錄結構
3 啟動服務器端程序
①SVN服務器必須處於運行狀態才能響應客戶端請求,幫助我們管理項目文件。所以我們必須將SVN服務器啟動起來。啟動SVN服務器有兩種方法,一個是命令行方式,一個是註冊Windows服務。
②命令行方式
[1]命令格式
主命令 |
參數1 |
參數2 |
參數3 |
svnserve |
-d表示後臺執行 |
-r表示版本庫根目錄 |
D:\DevRepository\Subversion |
舉例 |
svnserve -d -r D:\DevRepository\Subversion |
[2]驗證服務是否啟動
SVN服務監聽3690端口,打開一個新的cmd窗口,使用netstat -an 命令查看3690端口是否被監聽
[3]命令行方式的缺陷是:只要運行服務器端程序的命令行窗口一關閉,服務就停止了,很不方便,而且每次開機都需要手動啟動。
③註冊Windows服務
[1]將SVN服務端程序註冊為Windows服務,就可以讓SVN服務隨系統一起啟動,克服了命令行方式的不足。
[2]註冊Windows服務需要利用XP、2000以上系統自帶工具Service Control,執行文件是sc.exe,註意這個命令不是SVN的命令。
[3]命令格式
主命令 |
子命令 |
參數1 |
參數2 |
參數3 |
參數4 |
sc |
create |
服務名 |
binpath= “運行服務所需要的二進制文件路徑以及運行該二進制文件的命令行參數” |
start= auto 表示自動 |
depend= Tcpip 表示依賴Tcpi |
[註意:在這個命令中,等號左邊都沒有空格,右邊都有一個空格!]
|
[4]binpath組成結構說明
svnserve.exe路徑 |
svnserve命令參數1 |
svnserve命令參數2 |
svnserve命令參數3 |
SVN安裝目錄\bin\svnserve.exe |
--service 表示以服務方式啟動Subversion |
-r 表示版本庫根目錄 |
版本庫目錄 |
[5]關於“版本庫目錄”
單倉庫 |
指定與具體項目對應的倉庫目錄 |
例如:D:\DevRepository\Subversion\CRM |
只能為一個項目服務 |
多倉庫 |
指定版本庫的根目錄 |
例如:D:\DevRepository\Subversion |
可以為多個項目服務 |
[6]最終命令舉例
sc create MySVNService binpath= "D:\DevInstall\Subversion\bin\svnserve.exe --service -r D:\DevRepository\Subversion"
- ●在Win7及以上系統中,運行該命令需要管理員權限,否則會得到如下錯誤提示
- ●解決的辦法是以管理員身份運行cmd命令行窗口即可
- ●在防火墻或電腦衛士提示阻止時,選擇允許
- ●此時查看當前系統中的服務,可以看到我們剛剛創建的服務,但此時它還沒有啟動,如果創建失敗,需檢查sc命令是否正確
- ●啟動此服務
啟動服務的命令格式如下:
格式 |
sc start 服務名 |
舉例 |
sc start MySVNService |
- ●打開命令行窗口運行netstat –an查看3690端口是否被監聽
- ●如果啟動失敗,那很有可能是binpath中的內容有錯誤,此時只能將已經創建的服務刪除,重新創建。
- ●刪除服務之前,最好先停止服務。停止服務的命令格式如下:
格式 |
sc stop 服務名 |
舉例 |
sc stop MySVNService |
●刪除服務的命令格式如下:
格式 |
sc delete 服務名 |
舉例 |
sc delete MySVNService |
●刪除、啟動、停止服務同樣需要管理員權限
2 版本控制-Subversion安裝、版本庫配置、啟動服務器端程序