搭建windows環境的版本管理服務器
在軟件項目開發過程中, 項目涉及到的文件很多, 比如代碼源文件等, ?如果沒有一個版本管理工具, 那么在項目開發中將會遇到各種問題, 比如版本不統一. 通過一個版本管理服務器, 能很好的管理軟件項目過程中的資源, 能有效地提高開發的效率, 減少錯誤的發生.
SVN(Subversion)是類似于VSS 和 CVS 的版本管理軟件,是CVS的作者另起爐灶開發的,繼承了CVS的優點,避免了CVS的一些缺點.
以下是在windows環境下搭建svn版本管理服務器, 具體如下:
一、需要的軟件
1、服務端軟件:svn-1.4.2-setup.exe [下載] SVNService.zip [下載]
2、客戶端軟件:TortoiseSVN-1.3.2.5840.exe [下載] 中文語言包 [下載]
二、系統環境
Windows 2003
三、服務器安裝與配置
1、安裝svn-1.4.2-setup.exe,根據常規方法安裝就行,默認安裝在“C:\Program Files\Subversion”
2、將SVNService.zip壓縮包里的文件全部解壓到“C:\Program Files\Subversion\bin”
3、創建一個目錄作為項目倉庫,例如在F盤創建一個svnhome目錄。
4、將svnservice注冊為系統服務:
運行CMD
cd c:\Program Files\Subversion\bin
SVNService.exe -install -d -r f:\svnhome
5、啟動服務:在“控制面板”-〉“管理工具”-〉“服務”里面找到“SVNService”將其啟動,并將啟動類型設為自動。
6、在防火墻中開放端口3690。
四、客戶端配置
1、首先明確,客戶端和服務端可以為同一電腦。
2、安裝TortoiseSVN-1.3.2.5840.exe,根據常規方法安裝就行,默認安裝在“C:\Program Files\TortoiseSVN”。
3、重新啟動電腦。
4、安裝中文語言包。轉換成中文的方法是:選一個目錄單擊右鍵選擇“TortoiseSVN -〉Settings”,在Language下拉框中選擇“中文(簡體)”確定即可。
五、使用
1、在服務器上為每個項目單獨建立一個目錄,建議建立在F:\svnhome下面
2、在項目目錄上單擊右鍵選擇“TortoiseSVN -〉Create repository here...(在此創建文件庫)”,然后選擇Native filesystem(本地文件系統)(FSFS)。
3、進入該目錄會發現多了一些目錄和文件,我們只要再進入conf目錄,會發現有三個文件,首先我們用記事本打開“svnserve.conf”。這個文件是配置權限的,默認情況下每一行都是用“#”注釋掉的,我們需要將其中四行前的“#”去掉:
[general]
anon-access = read??????????????? 表示匿名用戶可讀,可以改為none或者write
auth-access = write?????????????? 表示認證客戶可寫
password-db = passwd????????????? 表示認證用戶及密碼的文件名為“passwd”
設置完以后保存,再打開同目錄下的“passwd”(如果沒有的話也可新建),在里面將最后三行前的“#”去掉然后添加自己的用戶,設置如下:
[users]
user1?= 123456??????????????????? 表示第一個用戶名為“user1”密碼為“123456”
user2?= 654321??????????????????? 表示第二個用戶名為“user2”密碼為“654321”
? .
? .
? .
4、在客戶機上選擇一個需要進行版本管理的目錄,單擊右鍵選擇“TortoiseSVN -〉Import...(導入)”在彈出的對話框里輸入服務器的地址,地址格式為:svn://IP地址/項目目錄名,然后再在彈出的對話框中輸入用戶名和密碼就可以將需要管理的文件上傳到版本管理服務器生成第一次版本。
5、將本地這個項目的目錄清空(建議先備份),然后在目錄上單擊右鍵選擇“SVN Checkout...(SVN 取出)”,在彈出的對話框里輸入地址,然后輸入用戶名和密碼就能取回最新版本,然后再看該目錄的圖標就發生了變化,表明這個項目已經被管理了。
6、以后對程序進行了修改,只要在目錄上點擊右鍵選擇“SVN Commit(SVN 提交)”就可以了;如果想獲取最新版本只要在目錄上點擊右鍵選擇“SVN Update(SVN 更新)”就可以了。
7、在日常使用中往往會發現項目庫所在的分區越來越小不夠用了,而其他分區還有空間。在這種情況下,就要另外再增加新的服務,方法如下:
例如我們在D盤和E盤下分別建立svnhome1,svnhome2,那么就要另外再開兩個服務對應這兩個目錄
sc create SVNService01? binpath= "\"c:\program files\subversion\bin\svnserve.exe\" --service -r d:\svnhome1 --listen-port 3691"?? displayname= "SVNService01" depend= Tcpip
sc create SVNService02? binpath= "\"c:\program files\subversion\bin\svnserve.exe\" --service -r d:\svnhome2 --listen-port 3692"?? displayname= "SVNService02" depend= Tcpip
訪問是通過 svn://XXX.XXX.XXX.XXX:3691、svn://XXX.XXX.XXX.XXX:3692即可。