首先咱們要來明確 :爲何要學習CVS
•項目開發靠的是一個團隊的能力,不多有大中型項目是由我的完成的。對於團隊開發來說---能控制每一個人的分工和權限,
可讓多我的同時編輯同一份代碼,並由程序來提醒兩次修改中存在的衝突,能夠查看某一處改動是誰作的---相似這樣的
需求就顯得尤其重要。這也是學習CVS的原因,它能夠很好的解決上述問題。
知識要點
–CVS概述
–CVS下載與配置
–CVS使用示例
現今的大多數應用程序是由多人組成的團隊開發的。即便只涉及幾個開發人員的小項目,也須要對源代碼的更改進行嚴格控制。這就
是源代碼管理軟件的任務。源代碼版本控制軟件必須支持兩個核心功能:
•提供一種方法,可以協調對團隊開發者對源代碼的更改,並能有效的控制這些更改 。
•保存和管理團隊所提交工做的歷史記錄 。
當團隊成員完成新的工做時,經過將這些更改提交到資源庫(repository)中讓其餘成員來共享。同時,能夠從資源庫中獲取最新的文件來
更新本地工做空間(Workbench) 。而且能夠回到任何曾經保存過的歷史版本。
CVS概述
•CVS是一個著名的版本控制工具
•CVS的英文全稱是Concurrent Version System(並行版本系統)。它主要用於記錄源文件的歷史。CVS是使用「客戶端/服務器」(Client/Server)模式來
工做的,這也是優秀版本控制系統的發展趨勢。
•由於CVS採用C/S體系,因此代碼、文檔的各類版本都存儲在服務器端,開發者首先從服務器上得到相關文件到本地計算機,而後在此基礎上進行開
發。開發者能夠隨時將新代碼提交給服務器,也能夠經過更新操做得到最新的代碼,從而與其餘開發者保存一致。
CVS的工做思路
在一臺服務器上創建一個倉庫,倉庫裏能夠存放許多不一樣項目的源程序。由倉庫管理員統一管理這些源程序。這樣,就
好像只有一我的在修改文件同樣,避免了衝突。每一個用戶在使用倉庫以前,首先要把倉庫裏的項目文件下載到本地。用
戶作的任何修改首先都是在本地進行,而後用CVS命令進行提交,由CVS倉庫管理員統一修改,這樣就能夠作到跟蹤文
件變化,進行衝突控制等。
•在學習CVS的時候,須要瞭解一些經常使用術語。
–Repository(倉庫) :CVS倉庫存儲所有的版本控制下的文件拷貝,一般不容許直接訪問,只能經過CVS命令,得到一份本地拷貝,
改動後在提交會倉庫。而倉庫一般是與工做目錄分離的。CVS能夠經過多種方式訪問倉庫,每種方式有不一樣的目錄表示形式。
–Revision(修訂版) :每個文件的各個Revision都不相同,形如1.1, 1.2等,通常1.1是該文件的第一個Revision,後面的一個將自
動增長最右邊的一個整數,如1.2,1.3, 1.4 等。Revision老是偶數個數字。通常狀況下Revision看做是CVS本身內部的一個編號,而
Tag則能夠標誌用戶的特定信息。
–Tag(標籤) :用符號化得表示方法標誌文件特定Revision信息。一般不須要對某個孤立的文件作Tag,而是對全部的文件同時作一
個Tag,之後用戶能夠僅向特定Tag的文件提交或者檢出。
–Branch(分支) :分支是開發團隊用來共享正在進行中的工做的地方。任什麼時候候,團隊成員均可以使用一個分支的內容做爲新工做的基礎。每一個 CVS
資源庫都至少有一個分支,稱爲 HEAD。HEAD表明CVS裏的主流分支。
–Module(模塊) :CVS服務器根目錄下的第一級子目錄。一般用於存放一個項目的全部文件。
–Check out(檢出) :一般指將倉庫中的整個模塊首次導出到本地。
–Check in(導入) :一般指提交整個目錄結構並建立一個新模塊。
–Release(發行版本) :整個產品的版本。
–Update(更新) :從模塊中下載其餘人修改過的文件,更新本地的拷貝。
–Commit(提交) :將本身修改過的文件提交到模塊中。
CVS下載與安裝
•建議選擇服務器端和客戶端所需的後綴名爲msi的文件進行下載。
•下面就簡要地介紹一下這個軟件的安裝。
–軟件的安裝很簡單,先安裝CVSNT,再安裝TortoiseCVS。選擇默認安裝便可。本書中安裝軟件的路徑分別爲:CVSNT安裝
到C:\CVS,TortoiseCVS安裝到C:\TortoiseCVS,這裏再也不贅述。安裝完成後,須要從新啓動計算機。
服務器端CVS配置
•CVSNT服務器端的配置的具體步驟以下。
–(1)打開CVSNT的控制面板。從開始菜單運行「CVSNT」→「CVSNT Control Panel」。彈出如圖13.4所示的控制面板。
–(2)服務已經啓動,但如今還缺乏一個倉庫。在此須要新建一個文件夾充當倉庫。本例中在G盤建立一個新的文件夾myCVSdata來充當倉庫。
–(3)爲了確保CVSNT的兩個服務啓動正常,需配置倉庫。
–(4)單擊OK按鈕,會提示「G:/myCVSdata文件夾已存在,但不是有效的CVS倉庫,是否須要初始化?」
如圖13.6所示。
–(5)單擊「是」按鈕,就初始化文件夾做爲倉庫文件夾了,初始化後,在文件夾裏面會生成一個CVSROOT的文件夾,裏面有不少的文件和子文件夾,
這裏面都是倉庫的配置信息。此時倉庫配置選項卡如圖13.7所示。
–(6)單擊Server Settings(服務器配置)選項卡,如圖13.8所示,保持默認配置便可。單擊「肯定」按鈕,即完成了服務器配置。
–(7)單擊Compatibility Options(兼容性配置)選項卡,如圖13.9所示。單擊「肯定」按鈕,即完成了兼容性配置。
–(8)單擊Plugins(插件)選項卡,如圖13.10所示,顯示了一些插件配置。
–(9)單擊Advanced(高級)選項卡,如圖13.11所示,保持默認便可。單擊「肯定」按鈕,完成服務器的配置。
CVS使用實例
•MyEclipse經過內置的CVS支持來與CVS服務器鏈接。本小節將結合MyEclipse來學習CVS的使用,具體步驟以下。
–(1)用MyEclipse建立一個項目EclipseCVS,並添加一個測試類。
–(2)將項目添加到CVS倉庫,操做如圖13.21所示。
–(3)執行Team→Share Project命令,彈出設置窗口,
如圖13.22所示。
–(4)單擊Next按鈕,出現設置共享模塊名的界面,通常都用項目名做爲模塊名稱,因此選擇第一選項便可,如圖13.23所示。
–(5)單擊Next按鈕,出現共享項目目錄的文檔結構說明界面,選擇Launch the Commit wizard選項,
如圖13.24所示。
–(6)單擊Finish按鈕,MyEclipse將鏈接到CVS資源庫/mycvsdata上,如圖13.25所示。
–(7)MyEclipse中的文件列表名後都會標註版本號,此時MyEclipse資源管理器窗口
如圖13.26所示。
–(8)修改CVSTest.java文件,執行Team→Commit菜單命令,如圖13.27所示。
–(9)查看文件,讀者能夠發現版本號已經發生變化,
如圖13.28所示。
–(10)在MyEclipse裏選擇項目名,單擊鼠標右鍵,從彈出的快捷菜單中選擇Import命令,將項目從CVS倉庫裏導入到本地,如圖13.29所示。
–(11)在彈出的Import對話框中選擇CVS選項中的Project from CVS,如圖13.30所示。
–(12)選擇要導入的資源。這裏選中「Use existing repository localtion」,而後選擇要導入的資源路徑,
如圖13.31所示。
–(13)單擊Next按鈕,在進入的界面中選擇要導入的模塊,如圖13.32所示。
–(14)單擊Next按鈕,在出現的界面中設置導出的項目名,並選擇「Checkout subfolders」選項,如圖13.33所示。
–(15)單擊Finish按鈕,完成導入。