淺談Netbeans CVS服務器架設方法
在團隊開發(fā)的過程當中,代碼的版本管理非常重要,有效的代碼版本管理可以提高團隊開發(fā)的效率,還可以進行代碼的備份和恢復,是團隊開發(fā)必備的一個環(huán)節(jié)。CVS是代碼版本管理的一種實現(xiàn),也是非常流行的一種代碼管理框架。Netbeans里面提供了非常強大和友好的CVS支持,但是在使用Netbeans CVS支持前,我們必須首先完成Netbeans CVS服務器的假設及CVS代碼庫,在這里提供一些經驗:
1、Netbeans CVS服務器架設。在這里,我提供的是在windows環(huán)境下CVS服務器架設的例子。安裝cvsnt 2.5(windows下的CVS服務器),下載地址:http://www.cvsnt.org,為了方便管理,可以安裝wincvs(wincvs是一個在windows環(huán)境下管理cvs服務器的客戶端工具)。
2、安裝完畢后,就可以開始配置cvsnt:打開cvsnt control panel,在初始窗口確保CVSNT和CVSNT LOCK兩個服務已經打開,點擊Repository Configuration,點擊add添加一個庫,這個庫就是我們所需管理的代碼庫(事先在Netbeans里創(chuàng)建一個工程,并把這個工程的文件夾拷貝到另一個路徑中),在location中選擇路徑,點確定,就可以添加一個庫了,在添加庫的過程中,CVSNT會自動地生成一些目錄和文件,使得這個工程可以在CVS服務器中使用。接下來,在server setting中根據(jù)選擇使用cvs服務器的用戶,點確定,cvsnt就配置成功了。
3、使用wincvs管理Netbeans CVS服務器:在這里,使用的是wincvs 2.1,下載地址:http://sourceforge.net/projects/cvsgui/,安裝完wincvs后,點擊View->Browse Location->change...,改變wincvs管理員的工作目錄,然后點擊Remote->Create a repository,添加一個cvs資源庫,在CVSROOT右邊點擊按鈕,protocol選擇pserver,Repository填入在第2步中添加的那個庫的名稱,并輸入cvs服務器地址,端口(2401),用戶名(可以不輸入密碼),點確定,如果連接成功的話,說明cvs服務器可用。至于更多wincvs管理的方法,在這里就不贅述了,網上有很多這樣的文章。
4、配置windows防火墻,在控制面板->windows防火墻->例外中添加端口2401,使2401端口可用。如果還有其他防火墻軟件,如瑞星等,也應該配置,使2401端口可用。這一點是很重要的,無論你的CVS服務器配置的多好,只要2401端口沒有打開,一樣不能訪問。
5、在Netbeans中使用CVS支持。假設我們在CVS服務器中有一個路徑為/repository的CVS資源庫,資源庫下有一個HISys的項目。首先,開發(fā)團隊的每一個成員都必須先簽出(也就是下載)這一項目:我使用的是Netbeans 6.0 beta2,點擊Versioning - CVS - checkout(5.5里是CVS - 簽出):
CVS ROOT指得是CVS資源庫的地址,例如::pserver:Administrator@125.216.227.115:2401/repository,其中pserver是CVS服務器使用的協(xié)議,Administrator是可以登錄到CVS資源庫的用戶名,125.216.227.115是CVS服務器的IP地址,2401是CVS服務器使用的端口,/repository是資源庫的路徑(在CVSNT里定義)??梢灾苯虞斎隒VS Root,也可以點擊Edit按鈕可視化地輸入CVS Root:
點擊下一步:
點擊Module旁邊的Browse按鈕,就可以看到CVS資源庫里面所有的項目:
選擇要簽出的項目,點擊Finish,就可以把整個項目從CVS服務器中簽出到本地了:
在使用CVS進行版本控制時必須注意一點,在我們向CVS服務器提交代碼修改前,必須先更新代碼,如果提交前不更新代碼的話,可能會造成沖突,因為其他的開發(fā)人員可能也會對同一個代碼文件進行修改并提交到CVS服務器上,這樣版本就會發(fā)生沖突。當然,即使發(fā)生沖突,也不要緊,因為Netbeans的CVS支持里提供了有效的沖突解決方案,用戶可以選擇正確的版本,也可以將本地代碼回滾到本地歷史記錄或覆蓋成CVS服務器上的某一個版本。
右鍵點擊項目,選擇CVS,可以看到整個CVS的菜單欄:
Update表示從CVS服務器中的代碼更新下來,Commit表示將本地的代碼提交到CVS服務器中。當我們對從CVS服務器中簽出的代碼進行修改后,那一個被修改的的源文件在project視圖當中會顯示為藍色,表示這個源代碼文件修改過,但未提交:
點擊代碼的右鍵 - CVS,仍然可以看到上圖所示的菜單欄,我們可以點擊Diff比較本地版本和CVS服務器版本:
可以看到,在Diff窗口里,左邊是CVS服務器上的版本,右邊是本地版本(如果服務器中有多個版本,還可以在上面那個窗口選擇),中間綠色的那一帶是本地版本與CVS服務器版本的差異,從比較中就可以清楚地看到那些代碼,在哪個地方進行了修改。
如果更新或提交資源時發(fā)生沖突,可以點擊Resolve conflit來解決沖突,在解決一個文件發(fā)生沖突時,Netbeans會在源文件中加入CVS上的版本信息,并用<<<<<<<----來標識,這樣,源文件就發(fā)生了編譯錯誤,采用Resolve conflit來解決沖突時,Netbeans會提示你選擇是保留CVS版本,還是本地版本,是將本地版本覆蓋CVS服務器上的版本,還是CVS上的版本覆蓋本地版本,還是把兩個合并起來。
Netbeans的CVS服務器支持還有很多強大的功能,這里只是給出一些基本的介紹,更多的支持,大家在團隊開發(fā)中會體會的到。
【編輯推薦】