根據(jù)查看網(wǎng)絡(luò)上的資料,看到一般的公司使用的版本控制軟件大致如下:
1.Clear case --------〉中堅(jiān)級(jí)
2.CVS --------〉開源奇葩
3.Visual SourceSafe --------〉入門級(jí) vss
4.PVCS --------〉小工作組級(jí)
5 Perforce --------〉
6.CCC --------〉元老級(jí)
7.StarTeam --------〉
8.RCS --------〉元老級(jí)
9.SCCS --------〉元老級(jí)
10.Hansky Firefly --------〉新秀級(jí)
11.SubVersion --->CVS改進(jìn)版本
12.Others(還有一些比較少見或某個(gè)公司專用的軟件,如Seapine,北大青鳥的JBCM等)
1.Clearcase是Rational公司(2003年被IBM收購(gòu))的一款重量級(jí)的軟件配置管理(SCM Software Configuration Managemen)工具。不同于CVS和VSS,Clearcase涵蓋的范圍包括:版本控制、建立管理、工作空間管理和過(guò)程控制。從初的軟件配置計(jì)劃,到配置項(xiàng)的確立,從變更控制到版本控制,它貫穿于整個(gè)軟件生命周期。 ClearCase支持現(xiàn)有的絕大多數(shù)操作系統(tǒng)。ClearCase 安裝、配置、使用相對(duì)較復(fù)雜,需要進(jìn)行團(tuán)隊(duì)培訓(xùn)。
2. CVS 是Concurrent Versions System 的縮寫,它是開放源代碼軟件世界的一個(gè)偉大杰作,由于其簡(jiǎn)單易用、功能強(qiáng)大,跨平臺(tái),支持并發(fā)版本控制,而且免費(fèi),它在全球中小型軟件企業(yè)中得到了廣泛使用。其大的遺憾是缺少相應(yīng)的技術(shù)支持,許多問(wèn)題的解決需要自已尋找資料,甚至是讀源代碼。CVS是一個(gè)典型的Server/Client端軟件,有 UNIX版本的CVS 、Linux版本的CVS,和WINDOWS版本的CVS,在下載的軟件包中已經(jīng)包含了Server端和Client端,但是因?yàn)槲覀冊(cè)诠ぷ髦幸话愣际鞘褂肳indows操作系統(tǒng),所以我們可以再下載一個(gè)Windows下CVS的Client端軟件WinCVS。在以下網(wǎng)站可以獲取新版本的CVS。CVS支持遠(yuǎn)程管理,項(xiàng)目組分布開發(fā)時(shí)用CVS。
3.VSS微軟的產(chǎn)品。簡(jiǎn)單好用,局域網(wǎng)中用VSS。用于Team級(jí)還可以,企業(yè)級(jí)不好。僅支持Windows 操作系統(tǒng)。
4.PVCS MERANT 公司的核心產(chǎn)品PVCS,PVCS的新版PVCS8.0。在PVCS8.0中,過(guò)程支持的功能與PVCS進(jìn)行了集成。看到網(wǎng)上對(duì)它的介紹不多,據(jù)說(shuō)曾經(jīng)贈(zèng)送給國(guó)內(nèi)很多大的機(jī)構(gòu)使用。主要功能:軟件配置管理;問(wèn)題管理;過(guò)程控制與自動(dòng)化, 幫助軟件開發(fā)組織自動(dòng)提高軟件產(chǎn)品質(zhì)量。
5.Perforce是美國(guó)perforce軟件公司的軟件配置產(chǎn)品家族,其特點(diǎn)是易用性強(qiáng),速度快。主要特性【smchina.net 觀點(diǎn)】:安裝、配置和管理非常簡(jiǎn)單,安裝過(guò)程幾分鐘可以搞定;基于TCP/IP的客戶服務(wù)器架構(gòu),不依賴于其他網(wǎng)絡(luò)協(xié)議如NFS等;采用流式傳輸協(xié)議提高傳輸效率;易用,命令行客戶端容易上手;文件間分支技術(shù)更自然符合開發(fā)人員工作習(xí)慣;與變更管理集成,并提供開放接口,支持第三方變更管理工具
6.CCC 上個(gè)世紀(jì)七十年代初期加利福利亞大學(xué)的Leon Presser教授撰寫了一篇論文,提出控制變更和配置的概念,之后在1975年,他成立了一家名為SoftTool的公司,開發(fā)了自己的配置管理工具:CCC,這也是早的配置管理工具之一。
7.Borland StarTeam一個(gè)用于管理配置和變更的集成環(huán)境。主要特性:改善分散式開發(fā)團(tuán)隊(duì)的溝通及工作表現(xiàn);提高對(duì)應(yīng)用軟件開發(fā)生命周期的觀測(cè)力和控制力;利用現(xiàn)有的技術(shù)投資并提高投資回報(bào)(ROI);定制滿足機(jī)構(gòu)要求的解決方案. StarTeam和Microsoft Source Code Control接口(API)兼容,從而能夠同支持該接口的眾多工具平臺(tái)進(jìn)行無(wú)縫集成。StarTeam還可以與特定開發(fā)工具進(jìn)行集成,例如 Microsoft、IBM、和Borland的主流開發(fā)工具,包括Borland JBuilder、Borland Delphi、Borland C++ Builder。StarTeam還可以與很多第三方軟件集成,從而充分發(fā)揮開發(fā)機(jī)構(gòu)用于開發(fā)、測(cè)試和需求等活動(dòng)的現(xiàn)有投資價(jià)值。全部軟件開發(fā)資產(chǎn)被妥善地保存在StarTeam Server中,有助于減少生命周期中不同環(huán)節(jié)之間的障礙,提高團(tuán)隊(duì)協(xié)同工作與信息共享的效率,從而提升開發(fā)機(jī)構(gòu)的投資回報(bào)率并加速軟件交付市場(chǎng)。
8.RCS是另一種基本的源代碼管理工具,是WALTER.f.Tichy 于1980 年在Indina的 Purdue 大學(xué)開發(fā)的. RCS和SCCS 類似,也是基于單一文件的版本維護(hù)系統(tǒng).
9.SCCS的全稱是Source Code Control System。是一種基本的源文件版本控制工具,它適用于任何正文文件的版本維護(hù).它基于單一文件的版本控制,通常,它的軟件儲(chǔ)藏室和要維護(hù)的文件在同一目錄下. SCCS 工作時(shí),有一個(gè)專門的SCCS 格式的文件保留其源文件的編碼版本,其記錄了足夠的信息來(lái)生成新的版本,并記錄了誰(shuí)對(duì)文件有修改權(quán),擁有該版本的”鎖”.
10.H a n s k y 公司軟件開發(fā)管理套件中重要一員的Firefly,可以輕松管理、維護(hù)整個(gè)企業(yè)的軟件資產(chǎn),包括程序代碼和相關(guān)文檔。Firefly是一個(gè)功能完善、運(yùn)行速度極快的軟件配置管理系統(tǒng),可以支持不同的操作系統(tǒng)和多種集成開發(fā)環(huán)境,因此它能在整個(gè)企業(yè)中的不同團(tuán)隊(duì),不同項(xiàng)目中得以應(yīng)用。Firefly基于真正的客戶機(jī)/服務(wù)器體系結(jié)構(gòu),不依賴于任何特殊的網(wǎng)絡(luò)文件系統(tǒng),可以平滑地運(yùn)行在不同的LAN、WAN 環(huán)境中。它的安裝配置過(guò)程簡(jiǎn)單易用,F(xiàn)irefly 可以自動(dòng)、安全地保存代碼的每一次變化內(nèi)容,避免代碼被無(wú)意中覆蓋、修改。項(xiàng)目管理人員使用Firefly可以有效地組織開發(fā)力量進(jìn)行并行開發(fā)和管理項(xiàng)目中各階段點(diǎn)的各種資源,使得產(chǎn)品發(fā)布易于管理;并可以快速地回溯到任一歷史版本。系統(tǒng)管理員使用Firefly的內(nèi)置工具可以方便的進(jìn)行存儲(chǔ)庫(kù)的備份和恢復(fù),而不依賴于任何第三方工具。
11.svn 的主要作者(Fogel 等等)在他們現(xiàn)任公司的資助下開發(fā)了SubVersion,用以替代CVS。SubVersion 的設(shè)計(jì)目的是針對(duì)CVS 的一些弱點(diǎn)進(jìn)行改進(jìn)。目前已經(jīng)有幾個(gè)知名的開源項(xiàng)目從CVS 轉(zhuǎn)向了SubVersion 來(lái)保存源代碼。SubVersion 目前發(fā)布了1.1 正式版,已經(jīng)相當(dāng)穩(wěn)定可靠了。本文只是對(duì)SubVersion 安裝和使用入門的一點(diǎn)引導(dǎo),以便從未用過(guò)版本控制的程序員可以快速上手,先從保護(hù)你的個(gè)人代碼開始。