Svn和VisualSvn介紹
在使用TortoiseSvn(SVN客戶端)+ AnkhSvn(VS2008插件) +VisualSvn Server(版本控制服務器)進行源代碼版本控制前,有必要先了解下Subversion(Svn)。
Svn(Subversion)是近年來崛起的版本管理工具,是CVS的接班人。目前,絕大多數開源軟件都使用Svn作為代碼版本管理軟件。
Svn客戶端:
Subversion的客戶端有兩類,一類是webSvn等基於web的,一種是以TortoiseSvn為代表的客戶端軟件。前者需要web服務器的支持,后者需要用戶在本地安裝客戶端軟件。
Svn服務器
Subversion支持linux和windows,更多是安裝在linux下。
Svn服務器有2種運行方式:獨立服務器和借助apache。2種方式各有利弊。
Svn存儲版本數據也有2種方式:BDB和FSFS。因為BDB方式在服務器中斷時,有可能鎖住數據,所以還是FSFS方式更安全一點。
VisualSvn 與VisualSvn Server
VisualSvn是Svn的客戶端,和Visual Studio集成在一起,但是是商業軟件,要收費;
VisualSvn Server是基於Windows平台上的Subversion服務器,它是免費的,它具體包括了Subversion、Apache和一個相應的管理界面。所以推薦使用免費的TortoiseSvn客戶端以及VS插件AnkhSvn 。
與VSS版本管理軟件的比較:
VSS:如果需要連接到發布在公網上的VSS服務器下載代碼的話需要配置IIS,步驟非常麻煩,而且不一定成功,本人在去年就試過,弄了很久都沒有成功。
VisualSvn Server:VisualSvn Server自帶apache,不需要配置IIS服務器的,輸入URL就可以下載保存在公網上的VisualSvn Server的代碼,只需要確保開啟443或者80端口就可以了操作簡單。
問:為什么要用Svn,而不用VSS?
相同點:都能集成在VS2008下進行源代碼管理,都能完全內網開發跟外網開發。
不同點:VSS是基於“鎖定--編輯—解鎖”模式的,這個模式有一個弊端,就是當其他人在編輯相關單元文件的時候,此單元文件處於鎖定狀態,其他人如果想編輯這個單元文件的話,只能處於等待狀態。后來在持續集成中我使用的Subversion替代VSS,Subversion是基於“修改—沖突—合並”的一個模式,也就是說多個人可以同時簽出一個單元文件,編輯然后提交,如果多個人都修改了同一文件的某一行的話,就會發生沖突,手工解決沖突,解決的效果就是合並代碼。
Internet開發,和離線開發,VisualSvn會比VSS更勝一籌。
問:為什么要用VisualSvn Server,而不直接用Subversion?
答:因為如果直接使用Subversion,那么在Windows 系統上,要想讓它隨系統啟動,就要封裝Svn Server為windows service(Windows服務),還要通過修改配置文件來控制用戶權限,另外如果要想以Web方式【http協議】訪問,一般還要安裝配置Apache,如果是新手,豈不是很頭痛?而VisualSvn Serve集成了Subversion和Apache,省去了以上所有的麻煩。安裝的時候Svn Server已經封裝為windows service(如果改變VisualSvn Serve的URL的時候,VisualSvn Serve會自動重啟服務,非常方便),Apache服務器的配置也只是在圖像界面上,指定認證方式、訪問端口等簡單操作;另外,用戶權限的管理也是通過圖像界面來配置。
VisualSvn Server是完全開源和免費的,當然它的官方客戶端(VisualSvn)並不免費,不過沒關系, VisualSvn Serve客戶端有太多的免費版本供我們選擇,TortoiseSvn就是一個不錯的選擇.
必備軟件
基於VS2008 Team開發環境的源代碼版本控制需要以下軟件,安裝順序沒有限制,一切默認安裝即可
由於3個軟件的官方下載地址不能訪問,所以我把3個軟件上傳到我的網盤,我給出下載地址,歡迎大家下載
VisualSvn Server(版本控制服務器)免費開源軟件。
版本號:VisualSvn-Server-2.1.4.msi
下載地址:http://files.cnblogs.com/lyhabc/VisualSVN-Server-2.1.4.rar
TortoiseSvn(管理員客戶端),免費開源軟件。
版本號TortoiseSvn-1.6.11.20210-win32-Svn-1.6.13.msi
下載地址:http://www.kuaipan.com.cn/file/id_4401224786917885.htm
AnkhSvn(VS2008插件),免費開源軟件。
版本號:AnkhSvn-2.1.8420.8.msi
下載地址:http://files.cnblogs.com/lyhabc/AnkhSvn-2.1.8420.8.rar