VSS和CVS比較

來源:互聯網
上載者:User
VSS的全名是(VisualSourceSafe),是微軟公司開發的VisualStudio開發套件中的版本控制部分,你可以通過從微軟購買全套的VisualStudio套件,單獨購買SourceSafe來獲得。因此SourceSafe擁有非常好的支援人員和非常詳盡的技術文檔。
CVS的全名是(ConcurrentVersionsSystem,並發版本系統),它是一個開源項目,通過http://www。 cvshome。org/網站,你直接可以擷取到最新的程式或者最新的原始碼,因此CVS的使用是完全免費的。由於CVS僅可以在Unix平台下使用,在windows下出現了CVSNT(http://www。 cvsnt。org/)伺服器和WinCvs(http://www。gui cvs。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可滿足局域和廣域不同的網路條件,提供不同層級安全性選擇,在一台專門伺服器的配合下,客戶可以使用任何平台開發項目。對於已經完成了開發過程進入項目維護階段,或者進入項目升級階段的項目,可提供完善的項目版本管理支援。不過在操作和使用上學習成本比較高。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.