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