CVS與配置管理研究.ppt_第1頁(yè)
CVS與配置管理研究.ppt_第2頁(yè)
CVS與配置管理研究.ppt_第3頁(yè)
CVS與配置管理研究.ppt_第4頁(yè)
CVS與配置管理研究.ppt_第5頁(yè)
已閱讀5頁(yè),還剩44頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、CVS與配置管理,劉學(xué)敏,CVS是什么,Concurrent Versions System的縮寫, Concurrent有并發(fā)的, 協(xié)作的, 一致的等含義. CVS是一個(gè)版本控制系統(tǒng)。使用它,可以記錄下源文件的歷史,使用CVS的好處,保存源代碼的全部歷史,還可以保存相關(guān)的軟件文檔等. CVS用一種聰明的辦法(僅僅保存不同版本之間的區(qū)別)來(lái)保存一個(gè)文件的所有版本在一個(gè)文件里 支持團(tuán)隊(duì)協(xié)同開發(fā).提供多種途徑幫助小組成員之間的版本同步、開發(fā)通信,輔助解決代碼沖突,大大提高協(xié)作效率。 幫助發(fā)現(xiàn)bug.經(jīng)過(guò)對(duì)不同版本的比較,開發(fā)者能較方便地找出是哪一次變動(dòng)引起bug,CVS的安裝,軟件安裝 http:

2、/上現(xiàn)在源碼, 看安裝文件夾下的INSTALL文件,手冊(cè)沒有關(guān)于軟件安裝的指導(dǎo). ./configure 常用指定目錄的方式/configure -prefix=/usr/local/gnu make make install,CVS的安裝,服務(wù)配置 9-可以單獨(dú)(standalone)運(yùn)行,也可以inet super_server的方式. 前一種比較占資源,但速度快,一般將可執(zhí)行的命令放在/etc/rc.d/rdc.local下即可 后一種節(jié)省系統(tǒng)資源,但比較慢,CVS的安裝,# cd /etc/xinetd.d service cvspserver disab

3、le = no flags = REUSE socket_type = stream wait = no user = root server= /usr/bin/cvs server_args= -f -allow-root=/home2/cvsroot/project1 -allow-root=/home2/cvsroot/project2 pserver ,CVS的安裝,由于xinetd的server_args長(zhǎng)度限制,想運(yùn)行很多的單個(gè)倉(cāng)庫(kù)的時(shí)候,可以這么做 server = /cvsroot/cvs.run 編寫cvs.run腳本 # vi /cvsroot/cvs.run /usr/

4、bin/cvs -f -allow-root=/cvsroot/project1 -allow-root=/cvsroot/project2 pserver,CVS的安裝,建立源碼倉(cāng)庫(kù) cvs -d /usr/local/cvsroot init . 會(huì)在cvsroot下創(chuàng)建一個(gè)CVSROOT目錄,存放管理文件.,CVS的使用,在版本控制中,存儲(chǔ)在源碼庫(kù)中的文件統(tǒng)稱為歷史文件(history files),這些文件的名稱是在對(duì)應(yīng)在工作目錄中的文件名稱后面加上,v,歷史文件中包括有足夠的信息來(lái)再創(chuàng)建文件的任何一個(gè)修訂版,CVS的使用,控制訪問權(quán)限 有兩種方法: 一是使用CVS自己的用戶認(rèn)證機(jī)制

5、二是使用linux系統(tǒng)的用戶認(rèn)證機(jī)制.,CVS的使用,將config文件的#SystemAuth=no前的注釋去掉;在config下增加passwd文件,格式如下: trotter:*:cvsroot gary:*:lsf trotter,是登陸的用戶名 , 中間的*是加密后的密碼, cvsroot表明登陸后 的權(quán)限相當(dāng)于本地用戶cvs的權(quán)限. trotter與系統(tǒng)中的用戶沒有關(guān)系,文件權(quán)限,根據(jù)對(duì)文件所在目錄的權(quán)限決定對(duì)下面文件的權(quán)限,所有的,v文件全部被設(shè)置成只讀,并且,不能改變那些文件的權(quán)限。在源碼庫(kù)里的目錄對(duì)于在每個(gè)目錄里都有修改文件權(quán)限的人來(lái)說(shuō)才是可寫的。這也意味著僅僅能控制每個(gè)目錄

6、下文件的存取,無(wú)法對(duì)單個(gè)的文件施加權(quán)限的控制。,權(quán)限策略,針對(duì)項(xiàng)目建立用戶組,對(duì)該用戶組授權(quán). 模塊的頂級(jí)目錄和下面的可由項(xiàng)目組的所有的人讀寫的子目錄的mode設(shè)成770或者2770,而對(duì)于某些屬主可讀寫,同組可讀的,設(shè)成750或者2750. 注意:在這種情況下,須改一下config文件,改成不在當(dāng)前模塊目錄下生成鎖文件,把鎖文件集中到一個(gè)所有用戶都有讀寫權(quán)限的目錄。 LockDir=/var/lock/cvs,CVS的使用,建立模塊 在邏輯上把一組目錄、文件組成一個(gè)項(xiàng)目,用一個(gè)模塊來(lái)定義它。 模塊能容易地把相關(guān)的目錄和文件關(guān)聯(lián)起來(lái) 可以在CVSROOT下的modules中定義。最簡(jiǎn)單的方式

7、mname options dir files. mname 模塊名 dir:模塊相對(duì)于$CVSROOT的路徑 通過(guò)導(dǎo)入模塊操作來(lái)創(chuàng)建模塊.先建立文件夾,然后設(shè)置屬主,用戶 組,mod等,然后導(dǎo)入操作,對(duì)于個(gè)別的文件夾設(shè)置mod. 模塊是相對(duì)的,模塊中可以有子模塊.模塊的定義不是嚴(yán)格需要的,在 checkout時(shí)將任何一級(jí)的目錄視為模塊不會(huì)出問題的。,什么是標(biāo)簽(tag),對(duì)于大多數(shù)CVS用戶來(lái)說(shuō),不需要考慮版本的修訂號(hào),他們只要知道CVS已經(jīng)自動(dòng)地加上了類似1.1, 1.2之類的修訂號(hào)就可以了。如果用戶想跟蹤許多文件的一系列版本號(hào),例如一個(gè)特別的發(fā)布版本,使用了一個(gè)特殊的標(biāo)簽(tag)作為修

8、訂號(hào),這個(gè)符號(hào)標(biāo)記的功能和每個(gè)文件的數(shù)值修訂號(hào)的功能是相同的。 Tag:符號(hào)形式的修訂號(hào).可以對(duì)一個(gè)文件,多個(gè)文件,模塊或者子模塊使用.標(biāo)簽名稱必須以大寫或者小寫字母開始,可以包括大寫和小寫字母,數(shù)字,-,和_。,什么是分支(branch),CVS允許修改代碼到不同的開發(fā)線上,這就是分支(branch)。當(dāng)改變一個(gè)分支中的文件時(shí),這些更改不會(huì)出現(xiàn)在開發(fā)主干(main trunk)和其它分支中。 在這之后你可以使用合并(merging)把這些變更從一個(gè)分支移動(dòng)到另一個(gè)分支(或主開發(fā)主干),分支適用的情況,假定tc.c發(fā)行版1.0已完成。正在繼續(xù)開發(fā)tc.c,計(jì)劃在2個(gè)月后發(fā)行1.1的版本。不久客

9、戶開始抱怨說(shuō)代碼有些問題,檢出了1.0的發(fā)行版,找到了這個(gè)錯(cuò)誤(這將會(huì)有一個(gè)小小的更正)。但是,當(dāng)前代碼的版本是處在一個(gè)不穩(wěn)的狀態(tài),并且在下一個(gè)月才能有希望穩(wěn)定下來(lái)。這樣就沒法基于最新代碼去發(fā)行一個(gè)修復(fù)錯(cuò)誤的版本。 這種情況下就可以去創(chuàng)建一個(gè)分支(branch),分支所有文件是構(gòu)建于tc的1.0發(fā)行版??梢孕薷倪@分支而不影響到主干。當(dāng)修訂完成時(shí),你可以選定是否要把它同主干合并或繼續(xù)保留在這個(gè)分支里。,wincvs的使用,點(diǎn)擊系統(tǒng)_ 配置,wincvs的使用,登陸,導(dǎo)入模塊,導(dǎo)出模塊,導(dǎo)出模塊,導(dǎo)出模塊,更新文件或者模塊,更新文件或者模塊,更新文件或者模塊,與當(dāng)前版本合并。,提交修改,增加文件,

10、1對(duì)于目錄不存在,先增加目錄。點(diǎn)擊“修改”“添加選擇的文件”,將目錄加入。 2目錄存在,選中要添加的文件。三種方式:添加,二進(jìn)制添加,unicode添加。 此時(shí)文件還沒真正入庫(kù)。 3.提交修改。,創(chuàng)建或刪除標(biāo)記,創(chuàng)建分支,查看文件狀態(tài),選擇文件,右鍵“標(biāo)記狀態(tài)” cvs status -v rdmis.jpx (in directory E:cvsfilesrdmis開發(fā)庫(kù)源代碼) = File: rdmis.jpx Status: Locally Modified Working revision:1.5 Repository revision:1.5/var/cvsroot/rdmis/開

11、發(fā)庫(kù)/源代碼/rdmis.jpx,v Sticky Tag:(none) Sticky Date:(none) Sticky Options:(none) Existing Tags: vdfdf (revision: 1.5) version12 (branch: 1.1.2) version10 (revision: 1.1) * CVS exited normally with code 0 *,文件版本歷史,右鍵選擇版本歷史,查看文件日志信息,選擇文件,右鍵“標(biāo)記狀態(tài)” Working file : rdmis.jpx Head revision : 1.5 Branch revisi

12、on : Locks : strict Access : Symbolic names : 1.5 : vdfdf : version12 1.1 : version10 Keyword substitution : kv Total revisions : 5 Selected revisions : 5 Description :,查看文件日志信息,Revision : 1.5 Date : 2004/7/9 4:47:8 Author : tiger State : Exp Lines : +14 -12 Description : JBuilder Project fi

13、le update - Revision : 1.4 Date : 2004/7/1 3:24:8 Author : tiger State : Exp Lines : +2 -25 Description : JBuilder Project file update,文件比較,文件比較,現(xiàn)有文件與服務(wù)器上文件的比較 與某一分支、版本的比較 指定的兩個(gè)分支、版本件間的比較。,56c67 prompt=kaoQin.getRDKaoQinMonthReportPrompt(startDate,endDate,isKaoQinManager); 145c156 - ,wincvs的使用,文件刪除

14、選擇文件,單擊“修改”下的“刪除選擇的文件”,將本地的文件刪除,并標(biāo)記為刪除狀態(tài)。然后選擇“修改”下的“移除”,將服務(wù)器上的文件刪除。本地顯示刪除狀態(tài)。單擊添加會(huì)恢復(fù)回來(lái)。,配置管理,配置管理標(biāo)識(shí)在給定時(shí)間點(diǎn)上的軟件配置,系統(tǒng)的控制對(duì)配置的更改,并且維護(hù)在整個(gè)軟件生命周期中配置的完整性和可跟蹤性。它使軟件過(guò)程的可視化變得具體。,配置管理的目標(biāo),1. 軟件配置管理的活動(dòng)是有計(jì)劃的。 2. 所選擇的軟件工作產(chǎn)品是經(jīng)過(guò)標(biāo)識(shí)、受到控制并具有可用性的。 3. 所標(biāo)識(shí)工作產(chǎn)品的變更要受到控制。 4. 軟件基線的狀態(tài)和內(nèi)容要通知到受影響的組和個(gè)人,基本術(shù)語(yǔ),配置標(biāo)識(shí) 版本控制 基線,配置標(biāo)識(shí),為產(chǎn)品的結(jié)構(gòu),

15、產(chǎn)品的構(gòu)件及其類型分配唯一的標(biāo)識(shí)符,并以某種形式提供對(duì)它們的存取,版本控制,通過(guò)建立產(chǎn)品基線,控制軟件產(chǎn)品的發(fā)布和在整個(gè)軟件生命周期中對(duì)軟件產(chǎn)品的修改,如它將解決哪些修改會(huì)在該產(chǎn)品的最新版本中實(shí)現(xiàn)的問題,基線(Baseline),定義:在配置管理系統(tǒng)中,基線就是一個(gè)CI或一組CIs在其生命周期的不同時(shí)間點(diǎn)上通過(guò)正式評(píng)審而進(jìn)入正式受控的一種狀態(tài),而這個(gè)過(guò)程被稱為“基線化”。基線是被評(píng)審過(guò)的一個(gè)或多個(gè)軟件配置項(xiàng)。 每一個(gè)基線都是其下一步開發(fā)的出發(fā)點(diǎn)和參考點(diǎn)?;€確定了元素(配置項(xiàng))的一個(gè)版本,且只確定一個(gè)版本。一般情況下,基線一般在指定的里程碑處創(chuàng)建,并與項(xiàng)目中的里程碑保持同步。,基線(Baseline),屬性:通過(guò)正式的評(píng)審過(guò)程建立基線存在于基線庫(kù)中,對(duì)基線的變更接受更高權(quán)限的控制基線是

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論