幾種常見代碼管理工具比較(2009)


軟件配置管理(Configuration Management)是通過技術或行政手段對軟件產品及其開發過程和生命週期進行控制、規範的一系列措施。

初讀上述定義,感覺不是一點點的有點繞口,枯燥和眩暈了,實際上如果仔細去研究軟件工程的理論書籍,有一大堆關於配置管理的概念,定義,理論,工具,總之就是一些把初學者搞暈的東東。所以初學者最好避開這些理論,先去實踐一個最基本的代碼管理工具,如果公司有Clearcase環境當然是學習Clearcase比較好,如果沒有,下載一些共享的代碼管理,如CVS(現在已經升級到SVN了),安裝在自己的電腦上,把自己的HelloWorld代碼全部用這些代碼管理工具管理起來,就是基本的配置管理了,如果再改進一下HelloWorld,做一個2.0版本,那就已經初窺門徑了。當然,路漫漫其修遠兮,推開一扇門,後面是汪洋大海,慢慢的遨遊吧。

筆者有幸接觸過以下幾種常用的配置管理工具:VSS、SVN、Clearcase,在此做一個小小的總結,並Ctrl+C了以前一些網友的對比評論,不一定準確,只是希望通過這些總結對自己和初學者有所幫助。如果想進一步瞭解這些工具,請baidu和google,如果想深入瞭解,敬請到圖書館借書並實踐。

一、 Visual Source Safe( 簡稱 VSS )

VSS是微軟的產品,是配置管理的一種很好的入門級的工具。VSS最初的名字叫Source Safe,是一家小公司的產品,92年曾經獲了最佳小型管理工具獎,然後立即被微軟收購。但是微軟收購的只是source safe的Windows版本,在美國還有另外兩家公司分別獲得了繼續開發和銷售source safe的Mac版本和Unix版本的許可,在MS買進vss之後,基本上沒有對vss進行任何的研發,MS內部自身也不用vss。

SourceSafe長得很象早先土氣的文件管理器,的確難看。但是難看不礙事,SourceSafe的優點可以用8個字來概括“簡單易用,一學就會”,這個優點是它老媽Microsoft遺傳下來的,是天生的。雖然SourceSafe並不是免費的,但是在國內人們以接近於零的成本得到它,網上到處可以下載啊。當然Microsoft也不在乎這個小不點的軟件,它屬於“買大件送小件”的角色。如果你合法地得到Visual Studio,你就得到了免費的SourceSafe。

評價如下:

易用性:★★★★★

易學易用是 VSS 的強項, VSS 採用標準的 windows 操作界面,只要對微軟的產品熟悉,就能很快上手。 VSS 的安裝和配置非常簡單,對於該產品,不需要外部的培訓(可以爲公司省去一筆不菲的費用)。只要參考微軟完備的隨機文檔,就可以很快的用到實際的工程當中。

功能:★★★

VSS 的配置管理的功能比較基本,提供文件的版本跟蹤功能,對於 build 和基線的管理, VSS 的打標籤的功能可以提供支持。 VSS 提供 share (共享 ) 、 branch( 分支)和合並( merge) 的功能,對於團隊的開發進行支持。 VSS 不提供對流程的管理功能,如對變更的流程進行控制。 VSS 不能提供對異地團隊開發的支持。此外 VSS 只能在 windows 平臺上運行,不能運行在其他操作系統上。

安全性:★★★

VSS 的安全性不高,對於 VSS 的用戶,可以在文件夾上設置不可讀,可讀,可讀 / 寫 , 可完全控制四級權限。但由於 VSS 的文件夾是要完全共享給用戶後,用戶才能進入,所以用戶對 VSS 的文件夾都可以刪除。這一點也是 VSS 的一個比較大的缺點。

總體成本:★★★★

VSS 沒有采用對許可證進行收費的方式,只要安裝了 VSS ,對用戶的數目是沒有限制的。因此使用 VSS 的費用是較低的。

技術支持:★★★★★

由於 VSS 是微軟的產品,可以得到穩定的技術支持。

二、 SVN(Subversion) - CVS(Concurrent Version System)的替代和升級版本

先說說CVS,CVS是開源代碼的配置管理工具,其源代碼和安裝文件都可以免費下載。記得在學校讀研的時候,學校實驗室的代碼全部都用CVS管理,爲啥?很簡單,兩個字:免費!它與Eclipse配合,基本上Java的代碼編寫,代碼管理和版本管理都可以“免費”搞定了。

SVN(Subversion)是近年來崛起的版本管理工具,被譽爲cvs的接班人。目前,絕大多數開源軟件都使用svn作爲代碼版本管理軟件。雖然在 2006年時SVN的使用族羣仍然遠少於傳統的CVS,但已經有許多開放源碼團體決定將CVS轉換爲SVN。已經轉換使用SVN的包括了 FreeBSD、Apache Software Foundation、KDE、GNOME、GCC、Python、Samba、Mono 以及許多團體。許多開發團隊換用SVN是因爲 Trac、SourceForge、CollabNet、CodeBeamer等專案協同作業軟件以及Eclipse、NetBeans等IDE提供SVN的支援整合。 除此之外,一些自由軟件開發的協作網如SourceForge.net除了提供CVS外,現在也提供專案開發者使用SVN作爲原碼管理系統,JavaForge、Google Code以及 BountySource 則以SVN作爲官方的源碼管理系統。2009年,絕大多數CVS服務已經改用SVN。CVS已經停止維護。

易用性 : ★★★★

Subversion支持linux和windows,更多是安裝在linux下。svn服務器有2種運行方式:獨立服務器和藉助apache。2種方式各有利弊。目前業界評價的SVN易用性正在提高。

功能:★★★★

SVN 的功能除具備 VSS 的功能外,還具有:

它的客戶機 / 服務器存取方法使得開發者可以從任何因特網的接入點存取最新的代碼;它的無限制的版本管理檢出 (checkout :注 1)的模式避免了通常的因爲排它檢出模式而引起的人工衝突;它的客戶端工具可以在絕大多數的平臺上使用。同樣, SVN 也不提供對變更流程的自動管理功能。

安全性:★★★★

一般來說, SVN 的權限設置單一,無法完成複雜的權限控制;但是 SVN 通過 SVN ROOT 目錄下的腳本,提供了相應功能擴充的接口,不但可以完成精細的權限控制,還能完成更加個性化的功能。

總體成本:★★★★★

SVN 是開發源碼軟件,無需支付購買費用。

技術支持:★★★

同樣因爲 SVN 是開發源碼軟件,沒有生產廠家爲其提供技術的支持。如發現問題,通常只能靠自己查找網上的資料進行解決。

三、 ClearCase

Rational公司的ClearCase是軟件行業公認的功能最強大、價格最昂貴的配置管理軟件。

ClearCase主要應用於複雜產品的並行開發、發佈和維護,其功能劃分爲四個範疇:版本控制、工作空間管理(Workspace Management)、構造管理(Build Management)、過程控制(Process Control)。ClearCase通過TCP/IP來連接客戶端和服務器。另外,ClearCase擁有的浮動License可以跨越UNIX和 Windows NT平臺被共享。

ClearCase的功能比CVS、SourceSafe強大得多,但是其用戶量卻遠不如CVS、SourceSafe的多。主要原因是:ClearCase價格昂貴,如果沒有批量折扣的話,每個License大約5000美元。對於中國用戶而言,這無疑是天價。用戶只有經過幾天的培訓後(費用同樣很昂貴),才能正常使用ClearCase。如果不參加培訓的話,用戶基本上不可能無師自通。

易用性:★★★

ClearCase 的安裝和維護遠比 VSS 複雜,要成爲一個合格的 ClearCase 的系統管理員,需要接收專門的培訓。 ClearCase 提供命令行和圖形界面的操作方式,但從 ClearCase 的圖形界面不能實現命令行的所有功能。如果Unix/Linux服務器上安裝了Samba服務,可以直接通過Windows下Clearcase的客戶端直接訪問源代碼,相對比較簡單。

功能:★★★★★

ClearCase 提供 VSS, SVN所支持的功能,但不提供變更管理的功能。 Rational 另提供了 ClearQuest 工具提供對變更管理的功能,與 VSS不同, ClearCase 後臺的數據庫是專有的結構。 ClearCase 對於 windows 和 unix 平臺都提供支持。 ClearCase 通過多點複製支持多個服務器和多個點的可擴展性,並擅長設置複雜的開發過程。

安全性:★★★★

ClearCase 的權限設置功能與 SVN 相比, SVN 有獨立的安全管理機制, ClearCase 沒有專用的安全性管理機制,依賴於操作系統。

總體成本:★★

要選用 ClearCase ,需要考慮的費用除購買 license 的費用外,還有必不可少的技術服務費用,沒有 Rational 公司的專門的技術服務,很難發揮出 ClearCase 的威力。如現在網上雖有 ClearCase 的破解軟件,但嘗試應用的公司大多失敗的緣故。另外,對於 web 訪問的支持,對於變更管理的支持功能都要另行購買相應的軟件。

技術支持:★★★★★

Rational 公司已被 IBM 公司收購,所以有可靠的售後服務保證。


四、總結

工具對比一覽表

特性           VSS           SVN             ClearCase

易用性         ★★★★      ★★★          ★★★

功能           ★★★        ★★★★        ★★★★★

安全性         ★★★        ★★★★        ★★★★

總體成本       ★★★★      ★★            ★★★★★

技術支持       ★★★★      ★★★          ★★★★★


以上幾種工具的總結如下:

1. VSS 的使用簡便易學,但 VSS 的功能和安全性較弱,且只對 windows 平臺進行支持,建議作爲項目配置管理的入門時採用的工具;

2. SVN 的安全性和版本管理功能較強,可以實現異地開發的支持,但 SVN 安裝和使用多采用命令行方式,學習曲線高,同時不提供對變更管理的功能,對於小型團隊,可以採用 SVN 進行管理。

3. ClearCase 功能完善,安全性好,可以支持複雜的管理,但學習曲線和學習成本高,需要集成 ClearQuest 才能完成完整的配置管理功能。大公司如果採用異地多研發中心同時開發的模式,一般推薦使用ClearCase。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章