// to do:加入處理 cvs update和處理merge的部分。
更多的資料請(qǐng)參閱Karl Fogel的《Open Source Development With CVS》一書。該書的中文譯本《CVS開源軟件開發(fā)技術(shù)》由機(jī)械工業(yè)出版社出版(ISBN 7-111-088Array1-3/TP.1885,人民幣35.00)。按此連接到華儲(chǔ)網(wǎng)上電腦書店訂購http://www.huachu.com.cn/asp/book/brow.asp?lbbh=BArrayArray1120Array1
用MFC編寫的windows平臺(tái)CVS圖形界面 --- WinCVS(未完成)
好了,像黑白電影總是會(huì)過渡到彩色電影一樣(正巧,像現(xiàn)在發(fā)生在移動(dòng)電話市場(chǎng)的情況一樣),cvs命令行之外,一些圖形界面的程序被編寫出來簡(jiǎn)化你的操作。由于CVS的協(xié)議是公開的,所以,只要你的編程語言支持socket通訊,你也可以寫一個(gè)。這個(gè)世界上有好幾個(gè)這樣的嘗試,WinCVS是其中一個(gè)。它是在win32平臺(tái)上用MFC開發(fā)的。從我自己的體會(huì)來看,這是一個(gè)有益的嘗試,但是還遠(yuǎn)遠(yuǎn)稱不上精美。和VSS和source off site,borland的tram source,以及PVCS的界面比較,這個(gè)windows界面還顯得很粗糙,差強(qiáng)人意。
但是我們還是可以從它開始進(jìn)行我們的工作。
下載請(qǐng)至http://www.redsaga.com/CVS_newbie_win32/www.cvsgui.org,那里有新的版本。
打開開始菜單的之后,你看到的是這樣一個(gè)界面:
界面由3個(gè)主要區(qū)域組成,坐上角是目錄結(jié)構(gòu),右上角是文件夾詳細(xì)內(nèi)容,下方是CVS命令的log。你可以從下方的log中得知cvs運(yùn)行的詳細(xì)信息。
首先你要做的事情是告訴winCVS你的CVSROOT。
這個(gè)對(duì)話框在winCVS1。2和1。3的各個(gè)版本中稍有不同,但是不妨礙你輸入CVS服務(wù)器的詳細(xì)信息。
下一步是login。
好了,現(xiàn)在我們可以去得到一份jive2的源代碼了。
你可以看到,winCVS默認(rèn)會(huì)加上壓縮的參數(shù),這樣可以減少網(wǎng)絡(luò)流量,加快速度。
同樣,用winCVS進(jìn)行文件修改也是挺方便的。
以上是winCVS的簡(jiǎn)要操作指南。更進(jìn)一步的復(fù)雜操作,請(qǐng)參閱其幫助。
評(píng)價(jià):值得關(guān)注,但不推薦。
在windows Explorer里直接checkout ---- TortoiseCVS
TortoiseCVS已經(jīng)是一個(gè)相當(dāng)成熟的cvs界面了,它的工作方式也是非常有趣的。
TortoiseCVS是一個(gè)簡(jiǎn)潔有效的CVS界面。你完全可以用它替代winCVS做日常絕大多數(shù)的工作。他獨(dú)特的運(yùn)行方式非常迷人,在一些商用配置管理工具,比如Rational ClearCase中,你也可以看到這樣的windows explorer擴(kuò)展程序的工作方式。
缺點(diǎn):
1,tortoiseCVS會(huì)一直不釋放它所操作的一些CVS文件和文件夾的系統(tǒng)資源。你可能會(huì)在試圖刪除一個(gè)在CVS控制之下的目錄時(shí)遇到麻煩。windows系統(tǒng)認(rèn)為有另一個(gè)進(jìn)程正在打開它(顯然是TortoiseCVS),我沒有找到如何殺掉在后臺(tái)執(zhí)行的TortoiseCVS的方法。在這種情況,用TortoiseCVS去update一下另一個(gè)module有所幫助;蛘哒(qǐng)重起你的explorer。
2,如果你需要在兩個(gè)不同的server或者repository上做checkout的工作,TortoiseCVS有一個(gè)bug。它會(huì)在你輸入CVSROOT信息,checkout第二個(gè)module的時(shí)候仍然使用第一個(gè)repository的CVSROOT。但是再做一次同樣的操作會(huì)成功的達(dá)到你的目的。
評(píng)價(jià):推薦。
按此進(jìn)入關(guān)于使用TortoiseCVS的詳細(xì)說明
基于Netbeans Java類庫的漂亮GUI ---- SmartCVS
使用java編寫的CVS GUI在過去一兩年中得到了長(zhǎng)足的發(fā)展。拜jdk1.3所托,現(xiàn)在java程序的執(zhí)行速度也有很大提高。Netbeans是由sun贊助的一個(gè)開放IDE,它其中包含了了CVS的基礎(chǔ)類庫。一個(gè)商業(yè)性的GUI,SmartCVS,是在netbeans的穩(wěn)定的cvs核心之上編寫的。 雖然SmartCVS的商業(yè)版本收費(fèi),但是其基礎(chǔ)版本是完全免費(fèi)的,而這個(gè)基礎(chǔ)版本已經(jīng)足夠大多數(shù)應(yīng)用所需。
SmartCVS你可以在www.regnis.de下載。
SmartCVS自從1.2beta版本開始引入smartCommit,不再區(qū)分add和checkin,統(tǒng)一使用commit進(jìn)行操作。
利用SmartCVS,你也可以看到一個(gè)文件的歷史,以及圖形化表示的各個(gè)分支。
總結(jié):SmartCVS正如他的名字所說的,是一個(gè)相當(dāng)聰明,精致,漂亮的CVS 客戶端。作為日常工作它是完全可以勝任的。如果和TortoiesCVS結(jié)合起來,可以給你相當(dāng)理想的CVS工作平臺(tái)。
同時(shí),它也可以在所有jdk環(huán)境中運(yùn)行,不僅僅局限于windows平臺(tái)。
IDE集成
對(duì)程序員來說,真正在編碼的時(shí)候,IDE才是每天接觸多的環(huán)境。如果能夠在熟悉的IDE中使用CVS,當(dāng)然實(shí)用性增強(qiáng)很多。Visual source safe 在Microsoft的開發(fā)工具產(chǎn)品VB,VC中集成得相當(dāng)出色,也大大提高了使用使用Microsoft開發(fā)平臺(tái)的工作效率。
下面我們來看看一下在流行的java開發(fā)工具中如何使用CVS。
IBM Visual age for java IDE集成 插件 --- vajcvs (未完成)
Visual age for java支持一個(gè)開放的Tool API,CVSin是這樣的一個(gè)tool。
下載地址:
安裝參見其內(nèi)部readme文件。
Borland jBuilder 內(nèi)置CVS支持
jBuilder很早在3.0中內(nèi)置CVS支持,而且當(dāng)時(shí)cvs是jbuilder一個(gè)正式支持的源代碼管理工具。在新的Builder 6中,當(dāng)然對(duì)CVS也支持得很好。
完善的設(shè)計(jì),的強(qiáng)大工作平臺(tái) --- Eclipse
及內(nèi)置CVS支持IBM新的開放式集成開發(fā)環(huán)境,將是IBM visual age 系列開發(fā)工具的下一個(gè)平臺(tái)。它提供CVS作為基礎(chǔ)集成的一部分。在Eclipse中訪問CVS是一件相當(dāng)輕松自如的事情,Eclipse按照自己的需要封裝了CVS,你可以看到,和其他訪問方式完全不同,Eclipse是到現(xiàn)在為止強(qiáng)大的CVS工作平臺(tái)。
Visual Studio IDE集成插件 -- CVSIn (未完成)
這是一個(gè)用于Visual Studio的CVS插件,您可以利用它不離開IDE集成環(huán)境進(jìn)行checkout/commit的操作。