軟件配置管理(SCM)相關(guān)概念_第1頁
軟件配置管理(SCM)相關(guān)概念_第2頁
軟件配置管理(SCM)相關(guān)概念_第3頁
軟件配置管理(SCM)相關(guān)概念_第4頁
軟件配置管理(SCM)相關(guān)概念_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1.1軟件配置管理〔SCM〕相關(guān)概念9.1.1版本管理不同產(chǎn)品的簡單介紹配置管理軟件分類:軟件的版本管理(CVS是軟件版本管理的工具)構(gòu)件管理缺陷和跟蹤管理產(chǎn)品介紹:1〕高端產(chǎn)品如:RationalclearCase2)中端產(chǎn)品如:PVCS(pvcsversionmanager,pvcstracker)、Perforce精選ppt3〕低端產(chǎn)品vss精選ppt1.2CVS概述cvs是什么cvs是ConcurrentVersionsSystem的縮寫。是強大而復(fù)雜的現(xiàn)代版本控制系統(tǒng)。cvs的特點免費:作為開放源代碼的世界杰作,CVS是免費的。在中國,北京國聯(lián)捷訊信息技術(shù)〔://unitedinfo)為需要CVS技術(shù)支持的公司提供咨詢。跨平臺:CVS支持所有的操作系統(tǒng),而且作為典型的客戶/效勞器模式的軟件,CVS支持跨平臺開發(fā),cvs可以用在AIX、HPUX、Solaris、SUNOS、Linux、Windows精選ppt 等不同的平臺上開發(fā)應(yīng)用,而共用一個CVS效勞器。強大的分布式開發(fā)支持:CVS一直以支持分布式開發(fā)作為其根本特征。支持并行開發(fā):允許多個開發(fā)人員對同一個文件進行開發(fā)工作,并對多個開發(fā)者的工作進行整合。強大的可塑性:不管是一個源代碼組成的工程開發(fā)管理,還是代碼量超過幾百兆的工程,均管理自如。觸發(fā)器及定制功能:這種功能幫助開發(fā)者將CVS和變動/跟蹤系統(tǒng)緊密集成,以形成完整的軟件配置管理系統(tǒng)〔SCM〕。精選ppt1.3CVS的安裝和配置在unix/linux平臺上安裝CVS效勞器安裝是超級用戶執(zhí)行的。假設(shè)選擇一臺Linux效勞器,假設(shè)主機名為hostcvs。在cvs權(quán)威網(wǎng)站上下載包cvs-1.11.1p1.tar.gz(在linux中可能已經(jīng)包含后CVS)。運行:[root@hostcvs/root]$gzip–dvfcvs-1.11.1p1.tar.gz[root@hostcvs/root]$tar–xvfcvs-1.11.1p1.tar進入目錄cvs-1.11.1p1,運行:[root@hostcvs/root]$./configure[root@hostcvs/root]$make[root@hostcvs/root]$makeinstall精選ppt如果未報錯誤,那么CVS效勞器安裝OK了。whereiscvs指定CVS倉庫cvs倉庫〔Repository〕是保存軟件資源的設(shè)備,可以根據(jù)需要選擇一目錄作為庫的位置,如,/cvsap,用超級用戶建相應(yīng)目錄。mkdir/cvssrcmkdir/cvssrc/masterCVS效勞器的初始化在確定CVS倉庫位置后,就可以初始化CVS效勞器。在初始化的過程中CVS創(chuàng)立其文件系統(tǒng),并產(chǎn)生原始內(nèi)容。在目錄/cvsap目錄下,以超級用戶身份在提示符下執(zhí)行:精選ppt[root@hostcvs/root]$[root@hostcvs/root]$cvs–d/cvssrc/masterinit其中的目錄project為工程源代碼的資源目錄。執(zhí)行命令:[root@hostcvs/root]$ls/cvssrc/masterCVSROOT[root@hostcvs/root]$ls–a/cvssrc/master/CVSROOT該目錄下是原始內(nèi)容,如果該目錄為空,那么初始化失敗。用戶組和用戶帳號的設(shè)立用戶組和帳號的設(shè)立原那么:進行配置管理的用戶和進行開發(fā)的用戶分別設(shè)立不同的用戶組,如,cvsadmin和cvsuser兩個組,在兩個不同組上建立管理用戶和開發(fā)用戶。CVS的權(quán)限設(shè)定的原那么是:

精選pptCVS用戶必須擁有對/cvsap/src/master/CVSROOT目錄及其中所有文件的讀權(quán)限。CVS用戶必須擁有對/cvsap/src/master/CVSROOT目錄下history文件的寫權(quán)限。CVS用戶如果希望對系統(tǒng)中的模塊〔如,project〕代碼等資源的修改,必須對該目錄有寫權(quán)限。對于普通的開發(fā)用戶應(yīng)該設(shè)為:對/cvsap/src/master/CVSROOT目錄及其下的所有文件有讀權(quán)限;對/cvsap/src/master/CVSROOT/history下的文件有寫權(quán)限;對某個工程〔模塊〕下的文件有讀寫權(quán)限〔如,project〕。精選ppt區(qū)分管理員和普通用戶的權(quán)限設(shè)定1〕添加cvsadmin用戶組2〕添加cvsuser用戶組3〕添加CVS管理員帳號到cvsadmin4)添加CVS普通用戶到cvsuser5)讓cvs管理員擁有對配置目錄及其下文件的讀寫權(quán)限,同時給cvs的普通用戶對配置目錄及其下文件的讀權(quán)限。[root@cvshost/root]$chgrp–Rcvsadmin/cvsap/src/master/CVSROOT[root@cvshost/root]$chmod–R064\/cvsap/src/master/CVSROOT6)給cvs普通用戶對目錄/cvsap/src/master/project的讀寫權(quán)限[root@cvshost/root]$chgrp–Rcvsuser/cvsap/src/master/project[root@cvshost/root]$chmod–R060/cvsap/src/master/project精選pptCVS的口令效勞器CVS口令效勞器配置的目的是使cvs用戶的遠程計算機能訪問CVS效勞器。其方法分兩步:以超級用戶在hostcvs效勞器上的/etc/services的文件中添加一行:cvspserver2401/tcp。最簡單的方法是執(zhí)行命令:echocvspserver2401/tcp>>/etc/services。注意:端口號2401不要重。這種方式是IBMUNIX系統(tǒng)。如果使用的是Redhat6.2及以前的版本或使用inetd超級效勞器的UNIX版本,用超級用戶在/etc/inetd.conf文件中添加一行,加在末尾:精選pptcvspserverstreamtcpnowaitroot/usr/local/bin/cvscvs–f–allow–root=/cvsworkpserver。如果是Redhat7.1或其他新版本的Linux,那么用超級用戶身份翻開/etc/xinetd.conf文件,并在文件中添加:servicecvspserver{port=2401socket_type=streamwait=nouser=rootserver=/usr/bin/cvsserver_args=-f-–allow-root=/cvssrc/masterpserverbind=本機器的IP地址}精選ppt啟動inetd/xinetd超級效勞器配置好的口令效勞器是包在inetd/xinetd超級效勞器內(nèi)的一個程序。啟動的方法為用超級用戶登陸,執(zhí)行命令:[root@hostcvs/root]$unsetHOME用來去除超級用戶的$HOME的環(huán)境變量,否那么執(zhí)行CVS命令會出錯。[root@hostcvs/root]$/etc/rc.d/init.d/inetdrestart也可能是/etc/init.d/inetdrestart?;蛘遊root@hostcvs/root]$/etc/init.d/xinetdrestart至此,CVS效勞器安裝和配置工作完成。精選ppt如果是HPUNIX那么啟動超級口令效勞器的方法為:ps–ef|grepinetd 找出inetd進程的進程號kill–HUP<pid> 讓inetd進程重新讀入配置文件使得CVS效勞生效測試CVS口令效勞器在cvshos效勞器上,執(zhí)行如下命令:[root@cvshost/root]$telnetlocalhost2401精選ppt客戶端的安裝和配置介紹CVSROOT環(huán)境變量設(shè)置格式:〔19頁〕客戶端的Unix/linux的安裝和CVS效勞器安裝過程相同,這里不再贅述。CVSforunix/linux客戶端的永久配置方法為:sh/ksh,用編輯器翻開$HOME/.bash_profile文件添加:CVSROOT=:pserver:cloud1@4:/src/masterexportCVSROOTcsh,用編輯器翻開$HOME/.cshrc文件,在文件的末尾添加:setenvCVSROOT:pserver:public@:/cvssrc/master其中的public為客戶端的用戶在效勞器端的帳戶/用戶名。精選pptCVSforWinCVS的永久配置為:在窗口中選擇Admin--?Preferences并在General選項卡中輸入,如圖。關(guān)于unix/linux客戶端的臨時配置:sh/bash:[test@linuxtest]$exportCVSROOT=:pserver:public@:/cvsap/src/mastercsh:[test@linuxtest]$setenvCVSROOT:pserver:public@:/cvsap/src/master

精選ppt精選ppt測試遠程訪問CVSforunix/linux:[test@linuxtest]$cvslogincvspassword:WinCVS:AdminLogin輸入口令即可。在VisualStudio中集成CVS(23)精選ppt1.4CVS工作原理及根本命令倉庫的概念已經(jīng)描述,在CVS庫中CVS以一種特殊的文件格式〔RCS〕來保存這些資源。倉庫按照目錄和文件結(jié)構(gòu)組織。倉庫中每個目錄對應(yīng)一個工程,如:和cvsap/src/master在同一層次的目錄除CVSROOT外,其他每個目錄都應(yīng)該是不同的工程。其保存了各個版本的文件,并記錄了版本的修改信息。統(tǒng)一文件的不同版本之間具有派生關(guān)系,在版本庫中只存儲不同版本間的改動,從而節(jié)約空間?!?9頁〕工作拷貝是指每個開發(fā)人員在開發(fā)過程中擁有一個獨立于其他開發(fā)人員的整個軟件工程的全部代碼的拷貝,在客戶端,它和主拷貝〔倉庫〕構(gòu)成了CVS客戶/效勞器模式。工作拷貝的每個目錄中有一個CVS目錄,其下的文件是cvs管理控制文件?!?1頁〕精選pptcvs命令的格式:cvs[cvs-option]command[command-option]如:your_client$cvs–Qchecktest可以用命令:cvs--help-commands來查看cvs的命令。在winCVS中在commandlinesetting菜單中輸入命令即可。Init命令(初始化版本庫〕如:cvs–d/cvsap/src/masterinitimport命令從客戶端登陸效勞器。在客戶端有目錄,如,test,其中有源文件和子目錄,將目錄test下的內(nèi)容參加效勞器作為一個工程〔如,project,test〕,即一個baseline。命令為:精選pptyour_client$cdtestyour_client$cvslogin(loggingintoyourserver)cvspassword*****(你的效勞器端cvs帳戶口令)your_client$cvsimport–m“initialimport〞testSSEstart該命令將當前目錄〔包含子目錄〕下的所有內(nèi)容,都放進CVS系統(tǒng)中,其中,-m表示在命令中要加注釋內(nèi)容test為該工程名稱SSE為廠商標識start為版本標記沒有沖突表示創(chuàng)立新的工程倉庫成功。在WinCVS中可以在菜單中實現(xiàn)。精選pptcheckout命令checkout命令是將我們選定的CVS效勞器上指定倉庫中的一個工程代碼取到本地的工作目錄下。如果要將倉庫中的test工程的代碼取到本地個人目錄下,執(zhí)行:your_client$cd$HOMEyour_client$cvscheckouttest工程代碼會保存在個人目錄$HOME/test下供你個人開發(fā)或修改。當你翻開checkout出的源代碼所在的目錄,會發(fā)現(xiàn)代碼中的每個目錄〔包括每個子目錄〕中均有名為CVS的子目錄。這些目錄并不屬于代碼,它是CVS系統(tǒng)使用的目錄,其中保存著CVS管理文件。這是工作拷貝與普通目錄文件的不同。這些文件對于CVS很重要。所以不要隨便的改變或移動、刪除這些CVS目錄及其中的文件。解釋CVS子目錄中的文件〔43頁〕精選ppt注意:這里的test為用戶的目標目錄。根據(jù)用戶client端的配置:CVSROOT:pserver:public@:/cvsap/src/master,命令cvscheckouttest從效勞器的庫中,即將目錄/cvsap/src/master/test下的所以內(nèi)容包括子目錄檢出到客戶機的$HOME/test目錄下,同時生成目錄test。當然,也可以檢出單個文件。diff命令CVS能將你工作的拷貝中的源代碼文件與倉庫中的版本進行比較,發(fā)現(xiàn)差異?!?5頁〕如:your_client$cvsdifftest.cyour_client$cvsdiff–ctest.c該命令能看到對照的結(jié)果。應(yīng)該注意的是顯示內(nèi)容中的“+〞表示添加行,“!〞表示修改,其余的顯示內(nèi)容和UNIX系統(tǒng)中的diff命令顯示相仿。精選pptyour_client$cvsdiff–r1.1–r2.1test.c該命令比較庫中兩個不同版本文件差異。commit命令提交操作會改變倉庫內(nèi)容。提交之后,代碼成為整個系統(tǒng)的一個局部了。由于軟件的復(fù)雜性,需要對提交進行控制。所以在提交時應(yīng)當遵循一定的流程,進行一定的軟件質(zhì)量保證〔SQA〕工作,這些工作包括評審〔review〕、提交報告等。提交源代碼的命令為:your_client$cvscommit–m“addstringvariableandheaderstring.h〞test.c注意:如果輸出類似以下內(nèi)容的結(jié)果即提交失敗,此時應(yīng)該用update命令更新個人工作目錄下的源代碼。精選pptcvscommit:Up-to-datecheckfailedfor‘test.c’cvs[commitaborted]:correctaboveerrorsfirst!這里的“-m〞后面的是CVS注釋。CVS強制要求用戶在任何一次提交、導(dǎo)入等操作時參加注釋。養(yǎng)成注釋的習慣非常重要。CVS支持中文注釋。如果不在命令行中參加注釋,那么CVS將自動啟動默認編輯器,請用戶輸入注釋,只有用戶保存注釋并退出這個編輯器之后,提交才能成功。update命令該命令既可針對單個文件,也可針對一個目錄,或者整個工程。精選ppt更新單個文件your_client$cvsupdatetest.c執(zhí)行上述命令后,用戶當前工作目錄中的文件test.c的內(nèi)容與倉庫中的最新版本完全相同了,因為在你checkout該文件后,在修改該文件的過程中可能他人已經(jīng)修改并提交了該文件,即你的修改不是基于庫中最新版本。所以,你必須先update,再提交該文件才能提交成功。不過可能有沖突要解決,原因是對同一個文件的同一處代碼進行了不同的修改。解決沖突的方法就是通過編輯文件,修改發(fā)生沖突的局部。對于邏輯問題CVS無法發(fā)現(xiàn),所以版本沖突的處理應(yīng)該與軟件開發(fā)中的需要相結(jié)合。另外,可以通過more命令看以下合并后的文件,如,moretest.c。精選ppt更新整個工程your_client$cvsupdate執(zhí)行上述命令后,用戶當前工作拷貝中屬于本工程的所有文件與倉庫中的最新版本完全相同了。需要注意其警告信息。

log命令每次提交一個CVS操作時,必須填寫日志信息,否那么拒絕提交。日志信息可以在命令行中加“-m〞參數(shù)表示。如果日志過長,可以不用“-m〞參數(shù)而直接運行,CVS會彈出一個編輯器,讓用戶在編輯器中輸入注釋信息。CVS對注釋信息沒有長度限制。這種日志信息是CVS進行軟件變化跟蹤的一種機制。精選ppt每個版本均有日志信息。用戶可以查看某個文件的全部歷史日志記錄,也可以指定查看某個版本或某個日期的日志記錄。查看日志信息使用命令:cvslog〔53頁〕。查看文件test.c全部日志,使用命令:your_client$cvslogtest.c查看test.c文件1.2版本的日志,使用命令:your_client$cvslog–r1.2test.c再如:cvslog–d“2002-06-01<2002-07-01;2002-08-01<2002-09-01〞共享日志在有時很有用,如果一個提交命令一次提交多個文件時,這些文件共享一個日志信息。如果你希望將幾個文件一起提交,并且在之后能發(fā)現(xiàn)這些文件是同時提交的,那么只有相同的日志信息能幫助你實現(xiàn)這一點。如:沒空格精選pptyour_client$cvscommit–m“fixedbugno.8888〞test.cMakefileyour_client$cvslogtest.cMakefilestatus命令該命令是查看已經(jīng)checkout出來的文件信息,如:your_client$cvsstatustest.cyour_client$cvsstatus–vtest.c(同時能查看tag和branch)版本回退〔55頁〕如果用戶提交了一個錯誤的版本,而不希望錯誤的版本是當前最新版本,一個簡單的方法就是回退。方法之一,首先更新到最新版本,再取出舊版本重新提交。按以下秩序執(zhí)行命令:精選pptyour_client$cvsupdateyour_client$cvs-Qupdate–p–r1.2test.c>test.c〔該命令不能在windows上執(zhí)行〕上面命令假設(shè),現(xiàn)錯誤版本號為1.3,正確版本號為1.2。該命令中“-Q〞是不輸出無關(guān)的信息。注意不要執(zhí)行命令cvsupdate–r1.2test.c這樣會出現(xiàn)問題。your_client$cvscommit–m“revertedtorevision1.2〞test.ccvsdiff–r1.2–r1.4test.c結(jié)果可以看出兩個版本是否相同方法之二,用命令:your_client$cvsupdate–j1.3–j1.2test.c將1.3版本與1.2版本之間的差異補到1.3版本上去。精選pptyour_client$cvsstatustest.c查看checkout出的1.3版本的狀態(tài)〔已經(jīng)在本地修改〕your_client$cvscommit–m“revertedtorevision1.2〞test.cyour_client$cvsdiff–r1.2test.c在工程中添加新的目錄和文件命令:add將工作目錄中新加的目錄和文件添加到cvs庫中的方法:在工作目錄中創(chuàng)立目錄和文件后才能進行。加文件的第一步:your_client$cvsaddnewfile執(zhí)行第二步:your_client$cvscommit–m“added〞newfile精選ppt加目錄(不管目錄是否為空目錄〕只需一步:your_client$cvsaddnewder注意:目錄中的文件需要分別參加。刪除文件命令:remove必須先刪除工作目錄中的該文件,刪除前應(yīng)該將修改正的本文件提交保存,作為倉庫中的新版本。命令如下:第一步:your_client$rmoldfile〔該命令不能在windows上執(zhí)行〕your_client$cvsremoveoldfile上兩步可以合并:your_client$cvsremove–foldfile第二步:your_client$cvscommit–m“removed〞oldfile大家可以按步驟看一下工作目錄cvs目錄下的Entries文件有什么變化。精選ppt對刪除的目錄因為cvs不對目錄進行版本控制,所以和刪除文件不同,沒有一個專門的命令。例如(要刪除目錄olddir):your_client$ls-aolddirtest.ctest1.ctest.pcyour_client$cdolddiryour_client$ls–atmp.ctmp1.c以下是刪除目錄olddir的命令:your_client$cvsremove–ftmp.ctmp1.cYour_client$cvscommit–m“removed〞tmp.ctmp1.cyour_client$cd..your_client$cvsupdate–Pyour_client$cvsupdate〔所有空目錄均從工作目錄中刪除〕這時目錄olddir從工作目錄中消失注意:此命令不會將庫中新添加的目錄取到工作目錄中,可執(zhí)行命令:your_client$cvsupdate-d去除、刪除精選ppt文件和目錄名的更改因為cvs對文件和目錄的更名缺乏支持,所以必須中其他方法處理,該文件makefile名的方法一為:your_client$mvmakefilemakefile.mkyour_client$cvsremove–fmakefileyour_client$cvscommit–m“removedforrenaming〞makefileyour_client$cvsaddmakefile.mkyour_client$cvscommit–m“addedasarenamedversionofmakefile〞makefile.mk方法二〔在效勞器上直接操作〕:[root@cvshost/root]$cd/cvsap/src/master/test[root@cvshost/root]$mvmakefile,vmakefile.mk,v這種改法的危險:確保沒人訪問該文件;不知道什么時候執(zhí)行的修改;無法獲得文件在改名前的舊版本。精選ppt改目錄名的方法也有兩種:方法一:在工作目錄中創(chuàng)立新目錄,將舊目錄下除cvs目錄外的所有文件和子目錄移到新目錄下。然后刪除舊文件,在添加新目錄,并添加文件。your_client$mkdirnewdiryour_client$mvoldnew/*newdiryour_client$cdolddiryour_client$cvsremove–f*your_client$cvsupdate–Pyour_client$cvsupdateyour_client$cd..your_client$cvsaddnewdir精選ppt方法二:[root@cvshost/root]$cd/cvsap/src/master/test[root@cvshost/root]$mvolddirnewdir這種方法是禁止任何人訪問數(shù)據(jù)庫,且方法危險,步主張使用。精選ppt1.5測試環(huán)境進入測試環(huán)境步驟:在個人的pc機上啟動linux或windows操作系統(tǒng),配置好客戶端。在linux系統(tǒng)中也可以用startx進入畫面操作系統(tǒng),而后用自帶的終端操作命令。在windows系統(tǒng)中直接啟動WinCVS即可。效勞器的IP地址:4。效勞器中cvs用戶為du_cloud/du_cloud〔管理用戶〕,usera[b][c]/usera[b][c]為開發(fā)用戶??梢园凑涨懊嬷v的命令去進行練習。

精選ppt1.6CVS的高級主題版本標簽和版本分支1.6.1版本在配置管理的語境里,版本的概念應(yīng)該是revision,而不是version。版本的編號可以系統(tǒng)自己編,也可以用戶自定義版本號。在系統(tǒng)自己編號時,如果工程中添加新文件,該文件不版本號碼的第一位與本目錄下版本號碼最高的文件第一位相同,第二位是1。如,一個目錄下有三個文件其版本號為1.5、2.8、5.14,那么新添加的文件版本號應(yīng)該是5.1。如果用戶自己給某個版本編號,那么這個版本編號必須大于工程中的所有文件的版本號。1.6.2版本標簽〔tag〕版本標簽是符號化的版本號碼,具有直觀、易于記憶和管理的優(yōu)點。用于階段式〔里程碑〕的版本標記。是連接工程中不同文件不同版本的手段。例子:通過WinCVS展示版本標簽標簽的設(shè)定[Du_cloud@linuxtest]$cvstagrel_1_0_1test.c精選ppt注意:很少給單個文件設(shè)標簽。給目錄下所有文件貼標簽:[Du_cloud@linuxtest]$cvstagbaseline_1標簽的刪除、重命名和移動刪除:[Du_cloud@linuxtest]$cvstag–dbaseline_1重命名:[Du_cloud@linuxtest]$cvstag–rbaseline_1baseline_2[Du_cloud@linuxtest]$cvstag–dbaseline_1移動:[Du_cloud@linuxtest]$cvstag–r1.6–Fbaseline_1test.c我們將test.c的標簽從舊版本1.5移到新版本1.6上。標簽的命名baseline_1-20030623Release-20030522Nightly-20030321等。精選ppt標簽的查看[Du_cloud@linuxtest]$cvsstatus–vtest.c[Du_cloud@linuxtest]$cvsstatus–v確定標簽要貼的位置[Du_cloud@linuxtest]$cvstag–cbaseline_1貼標簽時注意不要遺忘已經(jīng)修改但沒有提交的文件。按約定貼標簽〔倉庫中直接給模塊加標簽〕按日期貼標簽(下例是將模塊test的所有文件在20030624號0時0分前提交的最后一個版本貼上標簽:[Du_cloud@linuxtest]$cvsrtag–D20030624nightly_20030624test按版本號、已經(jīng)有的標簽貼新標簽[Du_cloud@linuxtest]$cvsrtag–rnightly_20030624(老tag〕rel_2_1test(貼新標簽但test下新加程序不掛到標簽上)[Du_cloud@linuxtest]$cvsrtag–fnightly_20030624test(將test下新加的程序的最新版本強制的掛到nightly_20030624上)[Du_cloud@linuxtest]$cvsrtag–r1.5rel_2_1test[Du_cloud@linuxtest]$cvsrtag–f1.5rel_2_1test附著性標簽1)引起附著性標簽的命令有:精選pptcvsupdate–rtag(標簽號〕cvsupdate–Ddate〔更新到不晚于date的最新版本〕cvsupdate–rx.y〔版本號〕test.ccvscheckout–rtag(標簽號〕cvscheckout–Ddate〔date之前最近的版本〕cvscheckout–rx.ytest.c2)附著性標簽在版本分支中的使用:保持版本分支號與標簽有直接的關(guān)系,也就是標簽附著在分支號上。3)保持某些文件的不改動:只要對幾個文件執(zhí)行了cvsupdate–r命令,如:cvsupdate–r1.28ax.c那么版本1.28就會成為附著性標簽,以后執(zhí)行cvsupdate命令時這個文件不會更新,直到解除附著性為止。另外,還有1〕中的命令情況相同。4〕解除附著性標簽:[Du_cloud@linuxtest]$cvsupdate–Atest.c該命令解除附著性標簽,將checkout主干的最新版本并放本地。精選ppt1.6.3如何獲得某個特定的版本根據(jù)版本號碼或版本標簽獲得[Du_cloud@linuxtest]$cvsupdate–r1.1test.c獲得某一版本標簽的整個軟件的源代碼:[Du_cloud@linuxtest]$cvscheckout–rbaseline_1test或者跳轉(zhuǎn)到某個版本標簽的版本〔已經(jīng)有工作拷貝的情況下〕[Du_cloud@linuxtest]$cvsupdate–rbaseline_1根據(jù)時間獲得特定版本〔更新到不晚于date的最新版本〕[Du_cloud@linuxtest]$cvsupdate–D“2002-05-08〞[Du_cloud@linuxtest]$cvsupdate–D“2002-05-0823:59:59〞[Du_cloud@linuxtest]$cvsupdate–D“2002-05-09〞[Du_cloud@linuxtest]$cvsupdate–D“2002-05-0823:59:59GMT〞〔讓用戶使用GMT時間〕如果要取回舊版本修改,而不是基于最新版本,修改后提交形成最新版本,方法有三:1〕逐個文件處理:[Du_cloud@linuxtest]$cvsupdate–p–D“2003-05-18’test.c>test.c精選ppt方法二:一次性處理所有文件[Du_cloud@linuxtest]$cvsupdate–A[Du_cloud@linuxtest]$cvsexport–D“2003-05-18〞test[Du_cloud@linuxtest]$cp–rtest/home/du_cloud*將test.c的baseline_1標簽移動從舊版本1.5到新版本1.6上:cvstag–r1.6–Fbaseline_1test.c1.6.4版本分支[Du_cloud@linuxtest]$cvsco–dtest_brh–rbase_1test[Du_cloud@linuxtest_brh]$cvstag–bbase_1_brh[Du_cloud@linuxtest_brh]$cvsup–rbase_1_brh(可以在分支中修改程序如:test.c〕[Du_cloud@linuxtest_brh]$cvsci–m“fixedbugno111〞test.c(提交到分支上〕[Du_cloud@linuxtest]$cvsup–jbase_1_brh(分支版本合并到主干版本中〕[Du_cloud@linuxtest]$cvsci–m“mergedfrombranch:base_1_brh〞精選pptCvs輸出〔export)---發(fā)布代碼(去出沒有CVS痕跡的代碼〕cvsexport–rrel_1〔主干上tag號〕–dtest_release1testcvsexport–rbrh_tag_brh(分支名稱)–dshanghai_releasetest[Du_cloud@linuxtest]$tar–cvftest_release1.tartest_release1[Du_cloud@linuxtest]$gziptest_release1.tar1.6.5cvs與二進制文件重要的二進制文件也需要進行版本管理。如:web應(yīng)用的大量圖片、控件、動態(tài)連接庫、unix不同操作系統(tǒng)下的編譯器、函數(shù)庫等等。CVS在處理文本類型的文件,包括各種源代碼文件、HTML、XML文件等。CVS對文本類型的文件進行版本管理時,會對文件做一些秘密的處理,在客戶端和UNIX倉庫之間,CVS會自動進行回車、換行替換和關(guān)鍵字擴展處理。精選pptCVS對二進制文件管理的不好,和ClearCase相比,ClearCase具有文件類型,可以進行二進制文件的比較,但是ClearCase也要盡量防止二進制文件的分支和合并。CVS無法進行二進制文件的合并和分支,不過在實際應(yīng)用中二進制文件的合并和分支是沒意義的。CVS對二進制文件的管理和保存:1〕在CVS系統(tǒng)中保存二進制文件,應(yīng)該使用“-kb〞選項來禁止CVS對文件進行回車、換行替換和關(guān)鍵字擴展的加工。這個選項只需要在cvsadd命令中使用,本選項是一個附著性選項〔如果沒有附著性每次執(zhí)行cvs命令時都需要這個選項〕。如:cvsadd–kbbinfilecvscommit–m“addedbinfile〞binfile注意:二進制文件是原封不動的保存在倉庫中,不能按照增量方式保存兩個版本的差異,而是累加。2〕恢復(fù)二進制版本,如果忘記使用“-kb〞選項,添加了二進制文件并提交了倉庫,庫在UNIX/Linux平臺上可以通過以下命令恢復(fù):cvsadmin–kbbinfile〔反擴展〕cvsupdate–Abinfile〔工作拷貝中的文件恢復(fù)二進制〕如果庫在windows平臺上只能手工處理。CVS識別二進制

溫馨提示

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

最新文檔

評論

0/150

提交評論