VSS和CVS比較

VSS的全名是(Visual SourceSafe),是微軟公司開發的Visual Studio開發套件中的版本控制部分,你可以通過從微軟購買全套的 Visual Studio套件,單獨購買SourceSafe來獲得。因此SourceSafe擁有非常好的技術支持和非常詳盡的技術文檔。
CVS的全名是(Concurrent Versions System,併發版本系統),它是一個開源項目,通過http://www.cvshome。org/網站,你直接可以獲取到最新的程序或者最新的源代碼,因此CVS的使用是完全免費的。由於CVS僅可以在Unix平臺下使用,在windows下出現了CVSNT(http://www.cvsnt.org/)服務器和WinCvs(http://www。guicvs。org/)客戶端等開源產品
功能
文件修改方式
VSS主要採用獨佔模式(check_out,modify,check_in),也可以使用(mutil_check_out,modify, check_in,merge)模式。在SourceSafe使用中獨佔模式使用的比較爲成熟和普遍,獨佔模式要求每個人都必須在改動文件之前做撿出 (check_out)標誌,並且標誌了後的文件無法被其他人修改,即文件被獨佔了,在完成了修改後要及時撿入(check_in),釋放修改權。 check_in和check_out也是人們對版本控制最開始的印象。
CVS採用了(update,modify,commit)工作方式。這是一種可以併發的版本控制方式,即每個人都可以修改自己可訪問的任意代碼,代碼不 會被一個人單獨佔用,兩個人甚至多個人可以修改同一份代碼,並且每個人的修改結果都不會被丟失。具體的操作過程爲:在修改代碼之前先做update,以使 本地的代碼最新,然後就可以修改代碼了,修改完畢後,直接commit自己的修改結果。如果CVS沒有發現衝突,則代碼可以直接進入CVS資源庫,否則, CVS則標出衝突的文件的衝突部分讓你做合併。

文件歷史
在這一點上VSS和CVS的功能都很近似,他們都可以保存了每個文件的變化歷史,並提供了一個自動的版本號,隨時可以取出任何文件的歷史版本。並和當前版 本做比較。都提供了自定義版本的label功能。檢索歷史和自定版本都非常的方便。VSS還特別提供了對時間段,或者操作人的歷史操作查詢,使一個人一段 時間內對文件的操作一目瞭然。

項目版本管理
VSS並有直接對項目版本管理的支持,通過label來自定義一個版本號,可以解決部分項目版本管理的問題,但這是遠遠不夠的,當一個產品根據用戶需求產生一系列不同的項目版本時使用SourceSafe將非常難以管理。
CVS提供了比較完善的項目版本管理。CVS中可以把當前的工作定義成一個版本,一旦生成版本了則版本中的數據被單獨取出,處於版本中的文件將保持只讀,想獲得一個項目的歷史版本將輕而易舉。同時,對於一個項目版本內部可以調整使用不同的文件版本。

分支功能。
CVS和VSS都提供了建立分支和合並分支的功能,但在操作中VSS首先要做項目共享,引入要分支的項目或文件然後做分支操作.CVS則是直接對文件或者項目做分支,分支操作同時建立。

開發集成
VSS可以和VisualStudio中的其他開發工具比如VB,VC++等做到直接集成,畢竟都是微軟的產品麼,同時由於VSS不光提供了圖形界面也提 供了命令行模式,所以在Windows操作系統中的大部分其他開發工具都提供了對VSS操作的集成,只要你安裝了VSS的客戶端。因此VSS在 Windows平臺下使用將會非常方便。
CVS本身是Unix系統上開發的,提供Unix上了命令行使用模式,因此和Unix上的vi、Emacs可以直接和CVS一起工作,至於Unix系統下的圖形環境的開發工具比如eclipse,KDevelop和cvs集 成都非常容易。本來在Windows平臺上CVS的支持並不好,但近一段時間,隨着WinCVS易用性越來越好,Windows下的部分開發工具已經提供 了對WinCVS的支持,不過需要自己配置,而Windows下的Eclipse則直接集成了CVS,開發中可進行CVS操作。從而使Windows下 CVS使用也越來越方便了。

操作界面和配置管理
VSS在Windows下提供了單獨的客戶端和服務器端 操作界面,界面和windows操作系統風格一致,入門和使用都非常方便。即使被集成到別的開發工具中,它的使用界面也基本一樣。通過工具 SourceSafeAdmin,用戶管理,權限管理,系統配置非常直觀,基本不需要任何培訓,直接看隨程序自帶的文檔就可以準確使用。配置工具中包括了 VSS數據的備份和恢復,系統自帶文檔相當詳盡。
CVS的界面以命令行爲主,在Unix平臺下沒有圖形界面,部分圖形的開發工具可能內嵌CVS客戶端,在Windows平臺下你可以選擇用CVSNT搭建 服務器,用WinCVS作爲客戶端。CVS服務端配置在任何平臺下都需要通過命令來完成,配置過程比較複雜。有時甚至要直接編寫配置文件,同時,客戶端方 面的培植也有些技巧。沒有經過培訓或者一段時間的研究和測試,無法正常使用CVS完成正常工作和用戶、權限的培植管理等工作。

安全和網絡
VSS僅可在局域網內部使用,服務器僅作爲一個文件服務器,不需要運行任何程序或者起後臺服務,但必須要共享一個可寫的文件夾。這成爲了目前局域網上最容易被病毒入侵的地方,必須定期做好病毒檢查工作,安裝病毒放火牆。安全性比較差。
CVS在局域網或者廣域網內都可使用,作爲服務器不需要共享任何資料,但必須起服務,佔用系統資源。客戶端可以是任何不同平臺,都是通過TCP/IP和特定的端口來訪問CVS服務器,有不同安全等級的訪問協議可供選擇。安全性強適用面廣。

結論
SourceSafe適合在局域網範圍內的,以Windows平臺爲主的中、小項目,以文件管理爲主要功能,使用方便,學習成本低,對服務器僅需要快速大容量的存儲器也是它的優勢。
CVS可滿足局域和廣域不同的網絡條件,提供不同級別安全性選擇,在一臺專門服務器的配合下,客戶可以使用任何平臺開發項目。對於已經完成了開發過程進入項目維護階段,或者進入項目升級階段的項目,可提供完善的項目版本管理支持。不過在操作和使用上學習成本比較高。
發佈了25 篇原創文章 · 獲贊 2 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章