几种代码管理工具比较
筆者有幸接觸過(guò)以下幾種常用的配置管理工具:VSS、SVN、Clearcase,在此做一個(gè)小小的總結(jié),并Ctrl+C了以前一些網(wǎng)友的對(duì)比評(píng)論,不一定準(zhǔn)確,只是希望通過(guò)這些總結(jié)對(duì)自己和初學(xué)者有所幫助。如果想進(jìn)一步了解這些工具,請(qǐng)baidu和google,如果想深入了解,敬請(qǐng)到圖書(shū)館借書(shū)并實(shí)踐。
一、 Visual Source Safe( 簡(jiǎn)稱(chēng) VSS )
VSS是微軟的產(chǎn)品,是配置管理的一種很好的入門(mén)級(jí)的工具。VSS最初的名字叫Source Safe,是一家小公司的產(chǎn)品,92年曾經(jīng)獲了最佳小型管理工具獎(jiǎng),然后立即被微軟收購(gòu)。但是微軟收購(gòu)的只是source safe的Windows版本,在美國(guó)還有另外兩家公司分別獲得了繼續(xù)開(kāi)發(fā)和銷(xiāo)售source safe的Mac版本和Unix版本的許可,在MS買(mǎi)進(jìn)vss之后,基本上沒(méi)有對(duì)vss進(jìn)行任何的研發(fā),MS內(nèi)部自身也不用vss。
SourceSafe長(zhǎng)得很象早先土氣的文件管理器,的確難看。但是難看不礙事,SourceSafe的優(yōu)點(diǎn)可以用8個(gè)字來(lái)概括“簡(jiǎn)單易用,一學(xué)就會(huì)”,這個(gè)優(yōu)點(diǎn)是它老媽Microsoft遺傳下來(lái)的,是天生的。雖然SourceSafe并不是免費(fèi)的,但是在國(guó)內(nèi)人們以接近于零的成本得到它,網(wǎng)上到處可以下載啊。當(dāng)然Microsoft也不在乎這個(gè)小不點(diǎn)的軟件,它屬于“買(mǎi)大件送小件”的角色。如果你合法地得到Visual Studio,你就得到了免費(fèi)的SourceSafe。
評(píng)價(jià)如下:
易用性:★★★★★
易學(xué)易用是 VSS 的強(qiáng)項(xiàng), VSS 采用標(biāo)準(zhǔn)的 windows 操作界面,只要對(duì)微軟的產(chǎn)品熟悉,就能很快上手。 VSS 的安裝和配置非常簡(jiǎn)單,對(duì)于該產(chǎn)品,不需要外部的培訓(xùn)(可以為公司省去一筆不菲的費(fèi)用)。只要參考微軟完備的隨機(jī)文檔,就可以很快的用到實(shí)際的工程當(dāng)中。
功能:★★★
VSS 的配置管理的功能比較基本,提供文件的版本跟蹤功能,對(duì)于 build 和基線的管理, VSS 的打標(biāo)簽的功能可以提供支持。 VSS 提供 share (共享 ) 、 branch( 分支)和合并( merge) 的功能,對(duì)于團(tuán)隊(duì)的開(kāi)發(fā)進(jìn)行支持。 VSS 不提供對(duì)流程的管理功能,如對(duì)變更的流程進(jìn)行控制。 VSS 不能提供對(duì)異地團(tuán)隊(duì)開(kāi)發(fā)的支持。此外 VSS 只能在 windows 平臺(tái)上運(yùn)行,不能運(yùn)行在其他操作系統(tǒng)上。
安全性:★★★
VSS 的安全性不高,對(duì)于 VSS 的用戶(hù),可以在文件夾上設(shè)置不可讀,可讀,可讀 / 寫(xiě) , 可完全控制四級(jí)權(quán)限。但由于 VSS 的文件夾是要完全共享給用戶(hù)后,用戶(hù)才能進(jìn)入,所以用戶(hù)對(duì) VSS 的文件夾都可以刪除。這一點(diǎn)也是 VSS 的一個(gè)比較大的缺點(diǎn)。
總體成本:★★★★
VSS 沒(méi)有采用對(duì)許可證進(jìn)行收費(fèi)的方式,只要安裝了 VSS ,對(duì)用戶(hù)的數(shù)目是沒(méi)有限制的。因此使用 VSS 的費(fèi)用是較低的。
技術(shù)支持:★★★★★
由于 VSS 是微軟的產(chǎn)品,可以得到穩(wěn)定的技術(shù)支持。
二、 SVN(Subversion) - CVS(Concurrent Version System)的替代和升級(jí)版本
先說(shuō)說(shuō)CVS,CVS是開(kāi)源代碼的配置管理工具,其源代碼和安裝文件都可以免費(fèi)下載。記得在學(xué)校讀研的時(shí)候,學(xué)校實(shí)驗(yàn)室的代碼全部都用CVS管理,為啥?很簡(jiǎn)單,兩個(gè)字:免費(fèi)!它與Eclipse配合,基本上Java的代碼編寫(xiě),代碼管理和版本管理都可以“免費(fèi)”搞定了。
SVN(Subversion)是近年來(lái)崛起的版本管理工具,被譽(yù)為cvs的接班人。目前,絕大多數(shù)開(kāi)源軟件都使用svn作為代碼版本管理軟件。雖然在 2006年時(shí)SVN的使用族群仍然遠(yuǎn)少于傳統(tǒng)的CVS,但已經(jīng)有許多開(kāi)放源碼團(tuán)體決定將CVS轉(zhuǎn)換為SVN。已經(jīng)轉(zhuǎn)換使用SVN的包括了 FreeBSD、Apache Software Foundation、KDE、GNOME、GCC、Python、Samba、Mono 以及許多團(tuán)體。許多開(kāi)發(fā)團(tuán)隊(duì)換用SVN是因?yàn)?Trac、SourceForge、CollabNet、CodeBeamer等專(zhuān)案協(xié)同作業(yè)軟件以及Eclipse、NetBeans等IDE提供SVN的支援整合。 除此之外,一些自由軟件開(kāi)發(fā)的協(xié)作網(wǎng)如SourceForge.NET除了提供CVS外,現(xiàn)在也提供專(zhuān)案開(kāi)發(fā)者使用SVN作為原碼管理系統(tǒng),JavaForge、Google Code以及 BountySource 則以SVN作為官方的源碼管理系統(tǒng)。2009年,絕大多數(shù)CVS服務(wù)已經(jīng)改用SVN。CVS已經(jīng)停止維護(hù)。
易用性 : ★★★★
Subversion支持Linux和windows,更多是安裝在linux下。svn服務(wù)器有2種運(yùn)行方式:獨(dú)立服務(wù)器和借助apache。2種方式各有利弊。目前業(yè)界評(píng)價(jià)的SVN易用性正在提高。
功能:★★★★
SVN 的功能除具備 VSS 的功能外,還具有:
它的客戶(hù)機(jī) / 服務(wù)器存取方法使得開(kāi)發(fā)者可以從任何因特網(wǎng)的接入點(diǎn)存取最新的代碼;它的無(wú)限制的版本管理檢出 (checkout :注 1)的模式避免了通常的因?yàn)榕潘鼨z出模式而引起的人工沖突;它的客戶(hù)端工具可以在絕大多數(shù)的平臺(tái)上使用。同樣, SVN 也不提供對(duì)變更流程的自動(dòng)管理功能。
安全性:★★★★
一般來(lái)說(shuō), SVN 的權(quán)限設(shè)置單一,無(wú)法完成復(fù)雜的權(quán)限控制;但是 SVN 通過(guò) SVN ROOT 目錄下的腳本,提供了相應(yīng)功能擴(kuò)充的接口,不但可以完成精細(xì)的權(quán)限控制,還能完成更加個(gè)性化的功能。
總體成本:★★★★★
SVN 是開(kāi)發(fā)源碼軟件,無(wú)需支付購(gòu)買(mǎi)費(fèi)用。
技術(shù)支持:★★★
同樣因?yàn)?SVN 是開(kāi)發(fā)源碼軟件,沒(méi)有生產(chǎn)廠家為其提供技術(shù)的支持。如發(fā)現(xiàn)問(wèn)題,通常只能靠自己查找網(wǎng)上的資料進(jìn)行解決。
三、 ClearCase
Rational公司的ClearCase是軟件行業(yè)公認(rèn)的功能最強(qiáng)大、價(jià)格最昂貴的配置管理軟件。
ClearCase主要應(yīng)用于復(fù)雜產(chǎn)品的并行開(kāi)發(fā)、發(fā)布和維護(hù),其功能劃分為四個(gè)范疇:版本控制、工作空間管理(Workspace Management)、構(gòu)造管理(Build Management)、過(guò)程控制(Process Control)。ClearCase通過(guò)TCP/IP來(lái)連接客戶(hù)端和服務(wù)器。另外,ClearCase擁有的浮動(dòng)License可以跨越UNIX和 Windows NT平臺(tái)被共享。
ClearCase的功能比CVS、SourceSafe強(qiáng)大得多,但是其用戶(hù)量卻遠(yuǎn)不如CVS、SourceSafe的多。主要原因是:ClearCase價(jià)格昂貴,如果沒(méi)有批量折扣的話(huà),每個(gè)License大約5000美元。對(duì)于中國(guó)用戶(hù)而言,這無(wú)疑是天價(jià)。用戶(hù)只有經(jīng)過(guò)幾天的培訓(xùn)后(費(fèi)用同樣很昂貴),才能正常使用ClearCase。如果不參加培訓(xùn)的話(huà),用戶(hù)基本上不可能無(wú)師自通。
易用性:★★★
ClearCase 的安裝和維護(hù)遠(yuǎn)比 VSS 復(fù)雜,要成為一個(gè)合格的 ClearCase 的系統(tǒng)管理員,需要接收專(zhuān)門(mén)的培訓(xùn)。 ClearCase 提供命令行和圖形界面的操作方式,但從 ClearCase 的圖形界面不能實(shí)現(xiàn)命令行的所有功能。如果Unix/Linux服務(wù)器上安裝了Samba服務(wù),可以直接通過(guò)Windows下Clearcase的客戶(hù)端直接訪問(wèn)源代碼,相對(duì)比較簡(jiǎn)單。
功能:★★★★★
ClearCase 提供 VSS, SVN所支持的功能,但不提供變更管理的功能。 Rational 另提供了 ClearQuest 工具提供對(duì)變更管理的功能,與 VSS不同, ClearCase 后臺(tái)的數(shù)據(jù)庫(kù)是專(zhuān)有的結(jié)構(gòu)。 ClearCase 對(duì)于 windows 和 unix 平臺(tái)都提供支持。 ClearCase 通過(guò)多點(diǎn)復(fù)制支持多個(gè)服務(wù)器和多個(gè)點(diǎn)的可擴(kuò)展性,并擅長(zhǎng)設(shè)置復(fù)雜的開(kāi)發(fā)過(guò)程。
安全性:★★★★
ClearCase 的權(quán)限設(shè)置功能與 SVN 相比, SVN 有獨(dú)立的安全管理機(jī)制, ClearCase 沒(méi)有專(zhuān)用的安全性管理機(jī)制,依賴(lài)于操作系統(tǒng)。
總體成本:★★
要選用 ClearCase ,需要考慮的費(fèi)用除購(gòu)買(mǎi) license 的費(fèi)用外,還有必不可少的技術(shù)服務(wù)費(fèi)用,沒(méi)有 Rational 公司的專(zhuān)門(mén)的技術(shù)服務(wù),很難發(fā)揮出 ClearCase 的威力。如現(xiàn)在網(wǎng)上雖有 ClearCase 的破解軟件,但嘗試應(yīng)用的公司大多失敗的緣故。另外,對(duì)于 web 訪問(wèn)的支持,對(duì)于變更管理的支持功能都要另行購(gòu)買(mǎi)相應(yīng)的軟件。
技術(shù)支持:★★★★★
Rational 公司已被 IBM 公司收購(gòu),所以有可靠的售后服務(wù)保證。
四、總結(jié)
工具對(duì)比一覽表
特性 VSS SVN ClearCase
易用性 ★★★★ ★★★ ★★★
功能 ★★★ ★★★★ ★★★★★
安全性 ★★★ ★★★★ ★★★★
總體成本 ★★★★ ★★ ★★★★★
技術(shù)支持 ★★★★ ★★★ ★★★★★
以上幾種工具的總結(jié)如下:
VSS 的使用簡(jiǎn)便易學(xué),但 VSS 的功能和安全性較弱,且只對(duì) windows 平臺(tái)進(jìn)行支持,建議作為項(xiàng)目配置管理的入門(mén)時(shí)采用的工具;
SVN 的安全性和版本管理功能較強(qiáng),可以實(shí)現(xiàn)異地開(kāi)發(fā)的支持,但 SVN 安裝和使用多采用命令行方式,學(xué)習(xí)曲線高,同時(shí)不提供對(duì)變更管理的功能,對(duì)于小型團(tuán)隊(duì),可以采用 SVN 進(jìn)行管理。
ClearCase 功能完善,安全性好,可以支持復(fù)雜的管理,但學(xué)習(xí)曲線和學(xué)習(xí)成本高,需要集成 ClearQuest 才能完成完整的配置管理功能。大公司如果采用異地多研發(fā)中心同時(shí)開(kāi)發(fā)的模式,一般推薦使用ClearCase。
Created by 陳祥儉
總結(jié)
以上是生活随笔為你收集整理的几种代码管理工具比较的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 黑客与画家读后感
- 下一篇: json学习笔记,json与js对象格式