您的位置:軟件測試 > 開源軟件測試 > 開源配置管理工具 > cvs
軟件配置管理工具CVS vs. STARTEAM
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/3/25 17:01:06 ] 推薦標(biāo)簽:

CVS 是開放源碼的一個(gè)奇跡,亦是開放源碼得以延續(xù)和發(fā)展的推動(dòng)者,是版本控制的經(jīng)典。CVS 是常用的版本控制工具。

Starteam 是一個(gè)集合了版本控制和缺陷控制兩種功能的軟件,并且具有 CVS 沒有的強(qiáng)大的圖形界面,易學(xué)易用。2002年底被Borland公司收購,發(fā)展前景未知,它是我是用的第一個(gè)大型商用版本控制軟件(真的付了Money的呦)。


評價(jià) CVS、STARTEAM 孰優(yōu)孰劣,是一個(gè)仁者見仁,智者見智的問題。

Starteam 的圖形化界面,能夠使初學(xué)者易于接收,而且其缺陷控制功能的功能(基于數(shù)據(jù)庫的Change Request),是CVS 不具有的,更是相應(yīng)工具中獨(dú)樹一幟的。

CVS的跨平臺能力、強(qiáng)大的命令行、清晰的服務(wù)器端數(shù)據(jù)結(jié)構(gòu)更便于數(shù)據(jù)的備份、災(zāi)難恢復(fù)和可靠性。Simple is Butiful 送給 CVS 一定沒錯(cuò)。

側(cè)重不同

CVS專注于配置管理軟件范疇中的版本管理系統(tǒng)。而配置管理系統(tǒng)除了包括版本管理外,還包括構(gòu)建管理(Build Management)和缺陷跟蹤系統(tǒng)。而Starteam包括了這三項(xiàng)。本文檔也只比較其版本管理系統(tǒng)的異同。

權(quán)限控制

一般來說,CVS的權(quán)限設(shè)置單一,通常只能通過CVSROOT/passwd, CVSROOT/readers, CVSROOT/writers 文件,同時(shí)還要設(shè)置CVS REPOS的物理目錄權(quán)限來完成權(quán)限設(shè)置,無法完成復(fù)雜的權(quán)限控制;而STARTEAM無需通過物理路徑的權(quán)限設(shè)置,而是通過自己的數(shù)據(jù)庫管理,實(shí)現(xiàn)了類似WINDOWS NT的域用戶管理和目錄文件ACL控制。

但是CVS通過CVSROOT目錄下的腳本,提供了相應(yīng)功能擴(kuò)充的接口,不但可以完成精細(xì)的權(quán)限控制,還能完成更加個(gè)性化的功能。

易用性

Starteam的圖形界面功能強(qiáng)大,但其命令行功能較CVS弱,需要自己編寫shell腳本加強(qiáng)。而隨著WINCVS作為圖形客戶端的可用性的增強(qiáng),Starteam的強(qiáng)項(xiàng)正在被削弱。

Label的管理

CVS 的 label 建立在文件上,難以確定到底有多少存在的 label ,而STARTEAM(圖形界面)可以很方便知道有哪些 View Label及Revision Label。

CVS的版本分支, label是建立在文件上,工作在其他分支的程序同樣會看到其它分支的label;而Starteam的label只在同一個(gè)視圖內(nèi)有效,有獨(dú)立的命名空間。

STARTEAM具有Promotion states,可以看作是label的標(biāo)簽。在label上又封裝一層的 Promotion State 便于記錄版本的提升,和建立自動(dòng)編譯;而CVS 沒有浮動(dòng) label 的概念,只能通過文件記錄方式實(shí)現(xiàn)(如我們使用 .promotion 文件記錄當(dāng)前穩(wěn)定的 label)。

文件緩存

Starteam 存在CACHE目錄,緩存了所有 Checkout的版本的文件,因此 Checkout速度快。而CVS沒有緩存,check out過程較慢,尤其是分支的 Checkout。


但我對此表示懷疑。尤其是Starteam Unix客戶端基于JAVA技術(shù),速度明顯比CVS要慢。


操作文件名和目錄名

CVS的REPOSITORY的物理存儲結(jié)構(gòu)即為項(xiàng)目的組織結(jié)構(gòu),使得文件名修改和目錄的重新組織成為難題,往往需要管理員權(quán)限去手動(dòng)操作Repository;而STARTEAM的Repository的文件結(jié)構(gòu)和視圖的文件結(jié)構(gòu)可以完全不同,目錄、文件名修改和移動(dòng)非常方便,基于數(shù)據(jù)庫的文件名管理還可以方便地在不同工程之間共享文件,協(xié)同工作。

CVS是程序員的工具,STARTEAM還是管理項(xiàng)目的工具

個(gè)人文件管理或小項(xiàng)目的組織,需要輕量級的管理,和靈活的文件導(dǎo)入、導(dǎo)出,以及和自由代碼的交互,則CVS,Perforce,PVCS,SourceSafe等面向文件的版本控制占優(yōu)勢。對于公司、大項(xiàng)目,需要獨(dú)立的測試、QA等分工,還要更多的考慮多樣的用戶權(quán)限控制,易用性(圖形界面),缺陷控制,則需要面向工程的STARTEAM來進(jìn)行版本控制和開發(fā)。

CVS的優(yōu)勢

CVS的優(yōu)勢:項(xiàng)目文件可以方便的組合和移植,這是因?yàn)镃VS以文件為核心,即面向文件的管理方式。而且目前網(wǎng)絡(luò)上很多開放源碼都采用CVS,可以很好溝通。

CVS配置簡單、健壯、可以很容易地移植;STARTEAM集成度較高,移植過程復(fù)雜,需要的管理負(fù)擔(dān)大,需要完善的備份計(jì)劃。

CVS是開發(fā)源碼,服務(wù)器端存儲易于理解,便于控制;而Starteam為商業(yè)軟件,服務(wù)器端存儲方式封閉,難以管理。但是 CVS 不提供圖形界面,有較長的學(xué)習(xí)曲線。

Starteam 的劣勢

不支持分支的合并,需要過多的手動(dòng)干預(yù)。而CVS可以自動(dòng)完成。

速度慢,一定程度上影響開發(fā)效率。

不支持并行開發(fā),不能很好解決Merge的問題。而CVS可以智能 Merge。

故障恢復(fù)困難,需要有專職管理員維護(hù)。而CVS易于維護(hù)。

評價(jià)優(yōu)劣,不如先用先得

不用刻意去取舍哪一個(gè),只要用好,即可。況且,已經(jīng)有了完美的CVS、STARTEAM互相轉(zhuǎn)換的方法。(參見:《CVS, Starteam互相轉(zhuǎn)換》)

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd