ClearCase培訓(xùn)文檔_第1頁
ClearCase培訓(xùn)文檔_第2頁
ClearCase培訓(xùn)文檔_第3頁
ClearCase培訓(xùn)文檔_第4頁
ClearCase培訓(xùn)文檔_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、ClearCase的使用方法這是本人在查看ClearCase使用幫助,根據(jù)自己的理解,整理,翻譯出來的部分ClearCase幫助。主要內(nèi)容是一些基礎(chǔ)的與ClearCase相關(guān)的概念,對(duì)理解ClearCase的工作方式有一定的作用。希望這篇文檔對(duì)大家有所幫助,隨手翻譯的文檔可能存在不少錯(cuò)誤之處,還請(qǐng)大家多多指教。ClearCase的基本概念、一、VOB(VersionedObjectBase):是文件,文件夾和元數(shù)據(jù)(ClearCase控制下的文件和文件夾叫做元素(Element),每個(gè)元素CheckIn形成的修改叫做一個(gè)版本(Version)的永久存儲(chǔ)倉庫。以下是關(guān)VOB的基本概念:1.一般來

2、說一個(gè)VOB中包含了每個(gè)元素的所有版本(Version)以及諸如用來描述每個(gè)版本的標(biāo)簽和CheckOut注釋等元數(shù)據(jù)2.對(duì)一個(gè)既定的項(xiàng)目,依賴于管理員對(duì)項(xiàng)目數(shù)據(jù)的安排,可能需要訪問位于不同VOB中的元素。、二、View:一個(gè)View為項(xiàng)目中所有文件的某一個(gè)版本提供一個(gè)目錄樹。在View中你可以修改源文件,將他們編譯成模塊進(jìn)行測(cè)試,將他們插入到文檔中等活動(dòng)。、三、流(Stream):流是一個(gè)具有長生命周期的ClearCase對(duì)象。它是單個(gè)UCM項(xiàng)目的成員,還是生成和記錄配置的一種機(jī)制。一個(gè)流標(biāo)識(shí)了當(dāng)前你可以查看,修改和編譯的一系列版本。UCM使用基線(Baseline)和活動(dòng)(Activitie

3、s)來描述一個(gè)流的配置。當(dāng)你創(chuàng)建一個(gè)流時(shí),它的初始配置和基線一樣(它包括某個(gè)組件的所有元素的單個(gè)版本)。當(dāng)你修改流的配置時(shí),你將這些修改指定為一個(gè)或多個(gè)活動(dòng)。因此一個(gè)流就是一個(gè)給定的基線加上一個(gè)或多個(gè)活動(dòng)。OfooXnversion5Obor.Civersion4Fixingbug2144&ZTAStreamsConfiQuration0.Vie/.-/BaselneAcrivify以下活動(dòng)將改變一個(gè)流的配置:1.1.從相關(guān)聯(lián)的View中CheckIn版本。(一個(gè)流可以和多個(gè)View相關(guān)聯(lián))2.基線更新(Rebase),用更近的基線取代流配置中的基線。3.交付(Deliver),通過向整合流(

4、IntegrationStream)中添加在此之前只有正在開發(fā)隊(duì)伍可以進(jìn)行的活動(dòng)改變綜合流。一個(gè)項(xiàng)目包含以下兩種流:1.開發(fā)流(DevelopmentStream);2.整合流(IntegrationStream);開發(fā)流:一般來說每個(gè)項(xiàng)目中包含多個(gè)開發(fā)流(每個(gè)項(xiàng)目中的開發(fā)人員一個(gè)),它們都從同一個(gè)基線開始,而當(dāng)開發(fā)人員添加活動(dòng)時(shí)相互之間沒有關(guān)聯(lián)。ManyDevelopmentStreamsFaiy:ieveufri-i?nb、3lieBL1整合流:每個(gè)項(xiàng)目都有一個(gè)單一的整合流來從開發(fā)隊(duì)伍中成員的開發(fā)流中收集他們的提交(Deliver)o為了方便提及過程,每個(gè)開發(fā)隊(duì)伍中的成員都關(guān)聯(lián)一個(gè)獨(dú)立的整

5、合ViewIntegrationStreampChrissintegrationviewppPatsIntegrationjoes;fttegrationv,ewviewDeliveredactivities到項(xiàng)目的整合流。通過該整合View,開發(fā)人員可以查看基線和所有提交活動(dòng)。四、四、項(xiàng)目(Project):一般意義上項(xiàng)目指一群人為一個(gè)開發(fā)成果而工作,但在ClearCase中項(xiàng)目則是指一個(gè)說明了某一個(gè)重要開發(fā)成果中使用的一系列的開發(fā)策略(DevelopmentPolicy)和一系列配置的對(duì)象。你可以為你開發(fā)的每一個(gè)產(chǎn)品建一個(gè)項(xiàng)目,也可以為多個(gè)產(chǎn)品建一個(gè)項(xiàng)目,還可以為產(chǎn)品中的某個(gè)功能的實(shí)現(xiàn)建一

6、個(gè)項(xiàng)目,甚至可以為你的某個(gè)產(chǎn)品的一個(gè)發(fā)行版本(Release)建一個(gè)項(xiàng)目。一個(gè)項(xiàng)目的策略決定了開發(fā)人員如何訪問,修改一系列的源文件和文件夾(以上叫做組件(Component)。為了記錄和配置依賴于組件的開發(fā)成果,項(xiàng)目使用了以下的ClearCase對(duì)象:1.基線(Baseline);2.一個(gè)整合流(IntegrationStream);3.開發(fā)流(DevelopmentStream);4.活動(dòng)(Activity);因?yàn)镃learCase支持平行開發(fā),不同的項(xiàng)目可以相同的源文件的不同版本同步工作。ClearCase將項(xiàng)目儲(chǔ)存在叫做PVOB(ProjectVersionedObjectBase)的數(shù)

7、據(jù)倉庫中。五、五、基線(Baseline):在UCM模型中,當(dāng)一個(gè)ClearCase對(duì)象典型地代表一個(gè)或多個(gè)組件地穩(wěn)定地源配置時(shí),項(xiàng)目經(jīng)理就生成基線?;€標(biāo)識(shí)了一個(gè)組件或多個(gè)組件中所有元素(Element)的某一個(gè)版本和這些元素的活動(dòng)。簡單的說,基線就是組件的一個(gè)版本。你可以從基線生成開發(fā)流或者為一個(gè)已有的開發(fā)流基線更新(Rebase)。完善的基線(RecommendedBaseline):一般來說基線會(huì)在測(cè)試和修改Bug之間不停的循環(huán)直至在穩(wěn)定性上達(dá)到一個(gè)比較令人滿意的程度。當(dāng)一個(gè)基線達(dá)到這種程度,項(xiàng)目經(jīng)理就指定該基線為完善的基線。六、六、合并(Merge):合并是指將兩個(gè)或兩個(gè)以上的版本聯(lián)

8、合成一個(gè)版本,ClearCase的合并算法和下列版本相關(guān):11合并文件:一個(gè)開發(fā)流中的版本和一個(gè)整合流中的版本;22基本合并文件:原版本的最常用的父親版本;33目標(biāo)版本:合并的輸出,在提交操作中成為整合流中的一個(gè)新的版本,而在基線更新操作中將成為開發(fā)流中的新版本。七、七、提交(Deliver):一個(gè)允許開發(fā)人員通過將他們的開發(fā)流中的工作成果合并(Merge)到項(xiàng)目的整合流中來和開發(fā)隊(duì)伍中的其它成員共享他的工作成果。假如需要的話提交需要用合并管理器(MergeManager)來合并不同的版本。ClearCase的提交操作使得在開發(fā)流中做的工作能在整合流中得到。工作是通過活動(dòng)的形式來提交的,整合流

9、中已有的版本和提交的版本之間的差別通過合并管理器(MergeManager)解決。和活動(dòng)相關(guān)的版本在提交之前必須CheckIn。還要注意只有活動(dòng)在上一次從該開發(fā)流中提交之后有改動(dòng)之后的“提交”才能認(rèn)為是真正的提交。一個(gè)提交過程可以由以下幾個(gè)階段構(gòu)成;1.預(yù)覽,列出流中有沒有完成提交工作的活動(dòng);2.開始提交,本階段確定需要提交的活動(dòng),檢查他們是否在上一次提交之后被修改過,要提交的版本是否已經(jīng)被Checkin到開發(fā)流中。3.合并差別,本階段比較被提交的版本和整合流中相對(duì)應(yīng)的版本,如果需要的話激活合并管理器進(jìn)行合并。4.結(jié)束合并,本階段校驗(yàn)合并,Checkin整合流中的變化,進(jìn)行其它一些管理工作。八

10、、八、基線更新(Rebase):ClearCase中通過基線更新使得開發(fā)人員能用整合過的,測(cè)試過的,經(jīng)過不同方面使用驗(yàn)收的工作成果來更新他們的開發(fā)范圍內(nèi)的工作成果從。這些新的工作成果被成為基線。由項(xiàng)目經(jīng)理來將活動(dòng)提交進(jìn)基線。UCM概念一、什么是UCMUCM(UnifiedChangeManagement)是Rational公司在軟件系統(tǒng)開發(fā)中從需求到發(fā)行過程中對(duì)更改的管理方法。UCM橫跨整個(gè)軟件開發(fā)的生命周期,定義了對(duì)需求,設(shè)計(jì)模型,文檔,組件,測(cè)試用例,和源碼的更改的管理。UCM奇特的地方在于它連接了用來追蹤和計(jì)劃體現(xiàn)在工件(Artifact)的變化中的Rational項(xiàng)目進(jìn)度的活動(dòng)(Act

11、ivity)oUCM主要關(guān)注以下兩個(gè)概念:1.活動(dòng)是你想要完成的工作?;顒?dòng)可能產(chǎn)生于某個(gè)會(huì)議的一個(gè)文件,一個(gè)進(jìn)入缺陷(Defect)庫中的缺陷(Defect),或者是客戶新增加的功能。事實(shí)上,整個(gè)開發(fā)過程就是一個(gè)活動(dòng)。2.工件是一個(gè)你想進(jìn)行版本控制的物體,通常是一個(gè)文件。更具體的說,工件可以是需求,測(cè)試,可視化的模型,源碼,項(xiàng)目計(jì)劃等等。配置管理(ConfigurationManagement,簡稱CM)在UCM中是基于活動(dòng)的,它允許將測(cè)試過的產(chǎn)品晉升基線?;€是在某個(gè)時(shí)間點(diǎn)上的一個(gè)邏輯組的項(xiàng)目文件。它允許開發(fā)團(tuán)隊(duì)在諸如發(fā)布和開發(fā)的跌代過程等關(guān)鍵的里程碑上把握軟件進(jìn)度。組件管理(Compone

12、ntManagement)在UCM是一種將一系列的文件版本作為一個(gè)命名的實(shí)體以產(chǎn)生和操作一致性的更改的方法。UCM功能強(qiáng)大的地方在于它連接了用來追蹤和計(jì)劃體現(xiàn)在工件(Artifact)的變化中的Rational項(xiàng)目進(jìn)度的活動(dòng)(Activity)。UCM由以下過程和工具支持:1.RationalUnifiedProcess中的更改管理流程描述的使用UCM的過程;2.RationalClearQuest管理項(xiàng)目的活動(dòng):任務(wù),缺陷(Defect),請(qǐng)求和功能的增加,并提供了用以跟蹤項(xiàng)目進(jìn)度的報(bào)表和報(bào)告生成工具。3.RationalClearCase管理所有軟件項(xiàng)目產(chǎn)生的工件。二、UCM工作流的基本概

13、況:無論項(xiàng)目經(jīng)理還是開發(fā)人員,對(duì)一個(gè)軟件開發(fā)項(xiàng)目需要什么都有一個(gè)非常良好的理解。融合這種理解并體現(xiàn)了業(yè)界最好的實(shí)踐經(jīng)驗(yàn),UCM支持了跌代的軟件開發(fā)過程。開發(fā)隊(duì)伍的所有成員都在一個(gè)UCM項(xiàng)目(Project)中工作。在UCM中項(xiàng)目(Project)是包含有諸如產(chǎn)品版本等用來管理開發(fā)成果的配置信息的對(duì)象。一個(gè)項(xiàng)目包含一個(gè)共享的工作區(qū)和數(shù)個(gè)人工作區(qū)(或者叫流),個(gè)人工作區(qū)允許開發(fā)人員獨(dú)立地通過活動(dòng)的形式工作。而項(xiàng)目經(jīng)理的責(zé)任就是維護(hù)共享的程序開發(fā)區(qū)。UCM工作流:UCM的項(xiàng)目經(jīng)理和開發(fā)人員的工作流如下圖所示。圖中小標(biāo)簽所代表的活動(dòng)由小標(biāo)簽上的數(shù)字所表示的工作流摘要說明:E*ProjectPlanMa

14、nagerprojectsctivitissoDevel曰JoinaprojectUCM工作流摘要:1.項(xiàng)目經(jīng)理設(shè)計(jì)出項(xiàng)目的范圍和項(xiàng)目的策略;2.項(xiàng)目經(jīng)理創(chuàng)建項(xiàng)目,設(shè)置項(xiàng)目的共享工作區(qū)(整合流),并為一個(gè)或多個(gè)組件(Component)確定初始的基線。組件(Component)是在一起開發(fā),整合,發(fā)行的一組相關(guān)聯(lián)的文件和文件夾。基線則是組件的一個(gè)版本。3.開發(fā)人員通過創(chuàng)建他們自己的工作區(qū)(開發(fā)流),并將項(xiàng)目的基線的內(nèi)容導(dǎo)入到該工作區(qū)來加入到該項(xiàng)目中。4.開發(fā)人員創(chuàng)建一個(gè)活動(dòng),并在活動(dòng)工作一段時(shí)間。活動(dòng)記錄了開發(fā)人員為了完成諸如修改一個(gè)Bug等開發(fā)任務(wù)而修改或生成的一系列文件。這些和活動(dòng)相關(guān)聯(lián)的

15、文件叫做更改(ChangeSet);5.當(dāng)開發(fā)人員在他們自己的私人工作區(qū)里完成活動(dòng),對(duì)他們工作成果的編譯和測(cè)試之后,他們可以通過將該活動(dòng)提交到共享工作區(qū)中來和整個(gè)開發(fā)組的其它成員共享他的新的工作成果。6.項(xiàng)目經(jīng)理周期性地在共享工作區(qū)中通過合并已經(jīng)提交的活動(dòng)來生成新的基線。7.開發(fā)人員用新的基線中的新的版本的更新私人工作區(qū)。8.當(dāng)基線的穩(wěn)定性和質(zhì)量得到改善之后,項(xiàng)目經(jīng)理周期性地調(diào)整基線的提升級(jí)別為諸如BUILD和TESTED之類能提箱相應(yīng)的項(xiàng)目里程碑的字眼。開發(fā)人員在為活動(dòng)工作,提交已經(jīng)完成的活動(dòng),用新的基線更新自己的私人工作區(qū)中循環(huán)。而項(xiàng)目經(jīng)理則在不停地做創(chuàng)建新的基線和基線升級(jí)中循環(huán)。這兩個(gè)循

16、環(huán)會(huì)持續(xù)到項(xiàng)目完成。三、UCM項(xiàng)目中的數(shù)據(jù)流:1.1.項(xiàng)目中用于標(biāo)識(shí)和隔離不同開發(fā)人員的工作的活動(dòng)(Activity)從多個(gè)開發(fā)流中遷移到標(biāo)識(shí)一系列在整個(gè)項(xiàng)目中用于構(gòu)造系統(tǒng)和測(cè)試用的共享版本的整合流(IntegratorStream)中。Def/veringfQthe-Integration:StreamBaselineBL1DeliverDHvelon?nRnr計(jì)trcniIntegrationstreamCreatingaBase/ineDeveioprn&ctstrefirTiBa&elineBL1BaselineBL2.2.項(xiàng)目經(jīng)理將已經(jīng)提交到整合流中的活動(dòng)收集到基線中。他們把穩(wěn)定的,

17、包含有重大意義的改變的基線為推薦(Recommend)的基線.3.3.開發(fā)人員對(duì)他們的開發(fā)工作區(qū)進(jìn)行基線更新以查看推薦(Recommended)的基線所標(biāo)識(shí)的工作成果。在基線更新之后,在開發(fā)工作區(qū)中有所更新的基線的版本加上還沒有提交的活動(dòng)的版本。RebasingaStreamClearCase的訪問控制機(jī)制本章節(jié)將介紹ClearCase是如何控制對(duì)它所保存的數(shù)據(jù)的訪問的。一、ClearCase訪問控制的基礎(chǔ)ClearCase所實(shí)現(xiàn)的訪問控制機(jī)制決定了哪些用戶可以在ClearCase的中創(chuàng)建,讀取,書寫,運(yùn)行,和刪除數(shù)據(jù)。訪問控制機(jī)制由用戶之間的交互情況,用戶所屬的組,ClearCase中的對(duì)象

18、和基于用戶利益考慮而訪問ClearCase數(shù)據(jù)的用戶處理或者是應(yīng)用程序來決定的。用戶和組ClearCase本身不實(shí)現(xiàn)自己的用戶和組的賬號(hào)。它依賴于操作系統(tǒng),通過用戶在操作系統(tǒng)中的登錄鑒別用戶,并由此得到?jīng)Q定用戶進(jìn)行ClearCase操作的權(quán)限的用戶身份和組成員的資格。UNIX和NT中都提供了能勝任諸如ClearCase這種分布式程序權(quán)限要求的用戶名和組名的網(wǎng)際數(shù)據(jù)庫。在UNIX中,該數(shù)據(jù)庫是網(wǎng)絡(luò)信息系統(tǒng)(NFS,NetworkInformationSystem)。在NT中該數(shù)據(jù)庫則是NT域服務(wù)器系統(tǒng)的一部分。在以上兩個(gè)操作系統(tǒng)中,用戶登錄系統(tǒng)都必須要有自己的用戶名,在ClearCase就把該用

19、戶名作為用戶身份或叫做用戶ID。一個(gè)用戶ID可以是一個(gè)或多個(gè)組的成員,在這些組中有一個(gè)組叫做用戶的主要組(PrimaryGroup)區(qū)別與其它所有組。在UNIX中用戶的主要組在NIS的PASSWD數(shù)據(jù)庫中用戶的一個(gè)數(shù)據(jù)項(xiàng)。在WindowsNT中,當(dāng)創(chuàng)建域用戶的賬號(hào)時(shí)就被賦值。ClearCase同時(shí)根據(jù)用戶ID和用戶的主要組來決定用戶對(duì)ClearCase的對(duì)象的權(quán)限。設(shè)置主要組(僅在Windows系統(tǒng)上需要進(jìn)行)因?yàn)閃indowsNT的一個(gè)Bug:用戶通過域賬號(hào)登錄域之后就不能更改由WindowsNT域賬號(hào)管理器所指定的該賬號(hào)的主要組。這就需要為VOB的訪問設(shè)置可靠的,正確的主要組。為了繞過這個(gè)

20、Bug,我們要求將環(huán)境變量CLEARCASE_PRIMARY_GROUP設(shè)置為正確的主要組。出于使用ClearCase的目的,通過設(shè)置CLEARCASE_PRIMARY_GROUP環(huán)境變量可以不通過域用戶管理器(在WindowsNT上)或者計(jì)算機(jī)MMC控制臺(tái)中的活動(dòng)目錄用戶就可以管理主要組。對(duì)CLEARCASE_PRIMARY_GROUP環(huán)境變量的賦值除了在VOB的訪問中之外并不會(huì)引起任何的安全或訪問控制上的變化。沒有正確設(shè)置主要組的用戶在創(chuàng)建元素或以其它形式訪問VOB時(shí)會(huì)有問題。CLEARCASE_PRIMARY_GROUP環(huán)境變量的指(后面例子中的組名)必須是符合下列所有要求的存在的域的組

21、:該組必須該用戶;該組必須在組列表中有顯示;它和該用戶在UNIX中的主要組組名相同;WindowsNT上設(shè)置環(huán)境變量的步驟:11按下開始設(shè)置控制面板;2.2.運(yùn)行系統(tǒng)程序,并選擇環(huán)境變量Tab頁;33選擇用戶變量列表中的一項(xiàng);4.在變量框中輸入CLEARCASE_PRIMARY_GROUP;5.在值編輯框中輸入組名;6.按下設(shè)置按鈕,然后選擇OK按鈕退出,在下一次登錄之后,更改才會(huì)生效;Windows2000上設(shè)置環(huán)境變量的步驟:1.按下開始設(shè)置控制面板;2.運(yùn)行系統(tǒng)程序,并選擇高級(jí)Tab頁;3.在高級(jí)Tab頁中,按下環(huán)境變量按鈕;7.在變量名稱框中輸入CLEARCASE_PRIMARY_GR

22、OUP;88在變量值編輯框中輸入組名;在Windows95和Windows98的計(jì)算機(jī)上必須通過修改AUTOEXEC.BAT文件來設(shè)置CLEARCASE_PRIMARY_GROUP環(huán)境變量的值。有特權(quán)的用戶和組有些用戶和組在ClearCase的訪問控制中有著特殊的重要作用。比如,每個(gè)ClearCase對(duì)象都有其自己的所有者,一般是該對(duì)象的創(chuàng)建者,他就有對(duì)該對(duì)象的特殊的訪問權(quán)限。加入該對(duì)象是個(gè)容器對(duì)象,比如包含有元素的VOB對(duì)象,或者是有擁有私有文件的View對(duì)象,則容器對(duì)象的所有權(quán)將部分地決定誰有訪問改容器對(duì)象所中的對(duì)象。ClearCase中還有一個(gè)廣泛的概念:特權(quán)用戶,在本書中它是指被賦予進(jìn)

23、行某些關(guān)鍵操作的用戶ID。在UNIX中,特權(quán)用戶是指根用戶(rootuser);在WindowsNT主機(jī)中,特權(quán)用戶是組名為ClearCase組的組員。關(guān)于ClearCase組的信息詳情可以參見配置ClearCase域用戶。無論是在UNIX還是在WindowsNT上,特權(quán)用戶都有權(quán)修改VOB和VOB中的對(duì)象。用戶處理用戶處理是指用戶用以訪問ClearCase數(shù)據(jù)而運(yùn)行的應(yīng)用程序。該應(yīng)用程序可以是ClearCase的GUI,象Cleartool之類的命令行程序,或者是諸如訪問動(dòng)態(tài)View(DynamicView)中ClearCase數(shù)據(jù)的文本編輯器之類的非ClearCase程序。當(dāng)一個(gè)用戶想讀取

24、或者更改ClearCase數(shù)據(jù),則為此將進(jìn)行一個(gè)相應(yīng)的讀取或者更改的處理。每個(gè)處理都有以下屬性,這些對(duì)訪問控制是非常重要的:用戶,啟動(dòng)處理的用戶;主要組,啟動(dòng)處理的用戶的主要組;追加的組列表,啟動(dòng)處理的用戶所屬的其它的組;在本章節(jié)中,將處理的主要組和其它的組統(tǒng)稱為處理的組。ClearCase對(duì)象以下ClearCase對(duì)象進(jìn)行訪問控制:VOB;元素(Element)和版本(Version);類型和類型的實(shí)例,如:標(biāo)簽,分支,和屬性;統(tǒng)一變更管理(UCM)的對(duì)象,如:項(xiàng)目,文件夾,活動(dòng)和流;VOB存儲(chǔ)區(qū);View;在動(dòng)態(tài)View中,View私有的文件,Views私有的文件夾,以及由這些對(duì)象生成的對(duì)

25、象;注意:ClearCaseScheduler自己維持訪問控制機(jī)制。所有上述的對(duì)象下列屬性中的一個(gè)或多個(gè),這些屬性和訪問控制相關(guān):擁有者,擁有者是個(gè)用戶。最初的擁有者是進(jìn)行創(chuàng)建對(duì)象處理的用戶ID。對(duì)于某些對(duì)象,最初的擁有者可以被更改;組。最初的組是創(chuàng)建該對(duì)象的處理的主要組。對(duì)于某些對(duì)象,最初的組可以更改;保護(hù)模式。有些對(duì)象可以擁有保護(hù)模式。保護(hù)模式分為以下幾種:對(duì)象的擁有者的保護(hù)模式;對(duì)象的組的保護(hù)模式;其它的保護(hù)模式;對(duì)ClearCase數(shù)據(jù)的訪問某個(gè)處理是否有權(quán)限訪問一個(gè)ClearCase對(duì)象是由下列事情決定的:處理的用戶和組;對(duì)象的用戶和組;對(duì)象的保護(hù)模式,假如有的話;當(dāng)處理尋求訪問一個(gè)

26、受保護(hù)的對(duì)象時(shí),將使用下列算法判斷是否批準(zhǔn)該訪問。1.處理是否有該對(duì)象的擁有者的用戶ID?是的:根據(jù)對(duì)象的擁有者的保護(hù)模式批準(zhǔn)或者拒絕訪問;否:到步驟2;2.處理是否有該對(duì)象組的組ID?是的:根據(jù)對(duì)象的組的保護(hù)模式批準(zhǔn)或者拒絕訪問否:到步驟3;3.對(duì)根據(jù)對(duì)象的其它的保護(hù)模式批準(zhǔn)或者拒絕訪問。假如一個(gè)對(duì)象沒有保護(hù)模式,則ClearCase根據(jù)對(duì)象的類別使用不同的規(guī)則來決定是否批準(zhǔn)訪問。具體可以參見后面的VOB和VOB對(duì)象的訪問控制機(jī)制和View對(duì)象的訪問控制機(jī)制。有時(shí)候ClearCase只有在處理有權(quán)訪問包含處理訪問的對(duì)象的一個(gè)或多個(gè)容器對(duì)象時(shí)才批準(zhǔn)該處理的訪問。比如說,加入用戶請(qǐng)求用文本編輯器

27、在動(dòng)態(tài)View中創(chuàng)建View的私有文件時(shí),文本編輯器必須在想要建文件的文件夾和View本身上有寫的權(quán)限。二、二、VOB和VOB對(duì)象的訪問控制VOB是ClearCase數(shù)據(jù)的主要存儲(chǔ)倉庫。VOB本身和VOB中的對(duì)象都參與訪問控制。這些對(duì)象有以下幾種:元素和版本;類型和類型的實(shí)例,如標(biāo)簽,分支和屬性;統(tǒng)一變更管理(UCM)的對(duì)象,如:對(duì)象,文件夾,活動(dòng)和流;VOB的存儲(chǔ)區(qū)域;VOB的訪問控制下列VOB的屬性和訪問控制相關(guān):擁有者。初始的擁有者是創(chuàng)建VOB的處理的擁有者。組。初始的擁有者是創(chuàng)建VOB的處理的主要組;附加組列表。初始的附加組列表在WindowsVOB中是空的。而UNIXVOB的附加組列

28、表是VOB擁有者的組列表;VOB沒有保護(hù)模式。在本章中VOB的主要組和其它組統(tǒng)稱為VOB的組??梢允褂肅leartoolDescribe命令來顯示VOB的擁有者,組和附加組列表。在VOB被創(chuàng)建之后,特權(quán)用戶或者是VOB存儲(chǔ)的文件夾所在主機(jī)上的本地Administrator用戶(在WindowsNT上)可以使用CleartoolProtectvob命令更改VOB的擁有者,組和附加組列表。創(chuàng)建VOB的許可任何用戶都可以創(chuàng)建VOB。刪除VOB的許可只有VOB的擁有者和特權(quán)用戶才可以刪除VOB。讀取VOB的許可不可以直接讀取VOB。VOB的讀取操作是指對(duì)VOB中對(duì)象的讀取操作。具體參見元素的訪問控制和

29、其它VOB對(duì)象的訪問控制。更改VOB的許可不可以直接更改VOB。VOB的更改操作是指對(duì)VOB中對(duì)象的更改操作。具體參見元素的訪問控制和其它VOB對(duì)象的訪問控制。運(yùn)行VOB的許可不可以直接運(yùn)行VOB。VOB的運(yùn)行操作是指對(duì)VOB中對(duì)象的運(yùn)行操作。具體參見元素的訪問控制和其它VOB對(duì)象的訪問控制。元素的訪問控制元素的以下屬性和訪問控制相關(guān):擁有者。初始的擁有者是創(chuàng)建該元素的處理的用戶ID;組。初始的組是創(chuàng)建該元素的處理的主要組ID。元素的組必須是它所屬的VOB的組之一。保護(hù)模式。元素的初始的保護(hù)模式在Windows和UNIX主機(jī)上是個(gè)不相同的:在UNIX主機(jī)上:假如你從一個(gè)已經(jīng)存在的View私有的

30、文件上創(chuàng)建元素,除非沒有一類用戶有寫權(quán)限,否則的話該元素和該私有文件的保護(hù)模式相同;如果你用其他方法創(chuàng)建文件元素,該文件元素對(duì)所有類別的用戶都只有讀的權(quán)限;文件夾元素初始對(duì)所有類別的用戶都有讀,寫和運(yùn)行的權(quán)限。在WindowsNT上:文件元素初始對(duì)所有類別的用戶都只有讀的權(quán)限;文件夾元素初始對(duì)所有類別的用戶都有讀,寫和運(yùn)行的權(quán)限。一個(gè)元素的擁有者,組和保護(hù)模式和它所有的版本都是相同的。你可以使用CleartoolDescribe命令,或者在Windows上使用元素的屬性對(duì)話框來查看元素的擁有者,組和保護(hù)模式。元素創(chuàng)建以后,元素的擁有者,所屬的VOB的擁有者和特權(quán)用戶都可以使用Cleartool

31、Protectvob命令更改元素的擁有者,組和保護(hù)模式。創(chuàng)建元素的許可當(dāng)VOB被創(chuàng)建時(shí),ClearCase會(huì)創(chuàng)建一個(gè)初始的元素,VOB的根文件夾。該元素是VOB中其它元素的最高級(jí)的容器。它的初始的擁有者是VOB的擁有者,初始的組是VOB的組。只有處理的主要組是VOB的組之一時(shí),該處理才可以創(chuàng)建元素。當(dāng)然該處理還必須要有CheckOut要?jiǎng)?chuàng)建的元素所在的文件夾的權(quán)限。詳見更改元素的許可。刪除元素的許可只有元素的擁有者,VOB的擁有者和特權(quán)用戶才可以刪除元素。刪除元素可以使用CleartoolRmelem命令,是和從文件夾的某個(gè)版本中移除元素不一樣。詳見更改元素的許可版本的創(chuàng)建者,元素的擁有者,V

32、OB的擁有者和特權(quán)用戶就可以刪除該版本。讀取元素的許可一個(gè)考慮了處理的用戶和組以及和處理相關(guān)的元素的擁有者,組和保護(hù)模式的算法決定了是否準(zhǔn)許對(duì)元素的讀取。該算法參看對(duì)ClearCase的數(shù)據(jù)的訪問。更改元素的許可處理不能直接更改元素。更改元素是通過更改元素的某一個(gè)CheckOut的版本,然后CheckIn新的版本來完成的。當(dāng)決定一個(gè)處理是否可以CheckOut或者CheckIn元素的某一個(gè)版本時(shí)并不考慮該元素的保護(hù)模式。只有以下條件中的某一個(gè)成立時(shí)處理才可以CheckOut版本:處理有元素?fù)碛姓叩挠脩鬒D;處理的某一個(gè)組ID和元素的組相同;處理有VOB擁有者的用戶ID;處理有特權(quán)用戶的ID;只

33、有以下條件中的某一個(gè)成立時(shí)處理才可以CheckIn版本:處理有CheckOut該元素的用戶ID;處理有元素?fù)碛姓叩腎D;處理有VOB擁有者的用戶ID;處理有特權(quán)用戶的ID;當(dāng)一個(gè)文件被CheckOut時(shí),你可以通過在文件夾中創(chuàng)建元素或者移除元素來修改文件夾。移除元素使用CleartoolRmname命令,它和刪除元素本身不一樣,詳情參見刪除元素的許可。運(yùn)行元素的許可一個(gè)考慮了處理的用戶和組以及和處理相關(guān)的元素的擁有者,組和保護(hù)模式的算法決定了是否準(zhǔn)許對(duì)元素的運(yùn)行。該算法參看對(duì)ClearCase的數(shù)據(jù)的訪問。對(duì)其他VOB對(duì)象的訪問控制除了元素和版本之外,VOB還有以下對(duì)象需要進(jìn)行訪問控制:元數(shù)據(jù)

34、類型。例如:標(biāo)簽類型,分之類型和屬性類型;統(tǒng)一更改管理(UCM)對(duì)象,例如:項(xiàng)目,活動(dòng),文件夾和流;存儲(chǔ)區(qū)派生的對(duì)象總的來說,所有的這些對(duì)象都有兩個(gè)和訪問控制相關(guān)的屬性:擁有者。初始的擁有者是創(chuàng)建該對(duì)象的處理的用戶;組。初始的組是創(chuàng)建該對(duì)象的處理的主要組;你可以用CleartoolDescribe命令查看對(duì)象的擁有者和組。在對(duì)象被創(chuàng)建之后對(duì)象的擁有者,所在VOB的擁有者和特權(quán)用戶可以使用CleartoolProtect命令改變對(duì)象的擁有者和組。對(duì)象的組必須是VOB的組中的一個(gè)。創(chuàng)建其它VOB對(duì)象的許可任何用戶都可以創(chuàng)建類型和UCM對(duì)象。但只有VOB的擁有者和特權(quán)用戶可以創(chuàng)建存儲(chǔ)區(qū)。類型的實(shí)例,

35、比如:標(biāo)簽,分支和屬性一般來說和元素的某個(gè)版本相關(guān)聯(lián)。要?jiǎng)?chuàng)建這些類型的實(shí)例,以下條件中的某一個(gè)必須成立:處理有元素?fù)碛姓叩挠脩鬒D;處理的組中有于元素組相同的組ID;處理有VOB擁有者的用戶ID;處理有特權(quán)用戶的ID;刪除其它VOB對(duì)象的許可對(duì)象的擁有者,對(duì)象所在的VOB的擁有者和特權(quán)用戶可以刪除類型,UCM對(duì)象,存儲(chǔ)區(qū)。諸如標(biāo)簽,分支和屬性之類的類型一般和元素的版本相關(guān)聯(lián)。一般來說加入你能創(chuàng)佳一個(gè)類型實(shí)例,你也可以刪除該類型的實(shí)例。具體參見創(chuàng)建其它VOB對(duì)象的許可。此外,分支的創(chuàng)建者可以刪除該分支。讀取其它VOB對(duì)象的許可任何用戶都可以查看類型,UCM對(duì)象或者存儲(chǔ)區(qū)的信息。更改其它VOB對(duì)象

36、的許可任何對(duì)象都可以更改UCM對(duì)象。對(duì)象的擁有者,VOB的擁有者和特權(quán)用戶可以更改類型和存儲(chǔ)區(qū)。鎖定VOB對(duì)象ClearCase許可配置被用作為一種長期的訪問控制機(jī)制。ClearCase還通過在對(duì)單個(gè)的VOB對(duì)象加鎖提供一種短暫的訪問控制。在最低層,你可以對(duì)單個(gè)元素,甚至元素的某個(gè)分支加鎖。在最高層次上,你可以給整個(gè)VOB加鎖以防止任何對(duì)VOB的修改。在對(duì)象被加鎖之后,任何用戶包括特權(quán)用戶和加鎖的用戶都無法修改該對(duì)象(但特權(quán)用戶和加鎖的用戶可以去鎖)。Lock命令可以指定可以繞過加鎖對(duì)對(duì)象進(jìn)行修改的用戶。鎖定類型對(duì)象可以通過鎖定類型對(duì)象,防止對(duì)這些類型對(duì)象的實(shí)例的修改。例如:你可以將Main分

37、支對(duì)除了一個(gè)小組的用戶之外的所有用戶加鎖。這個(gè)小組可以對(duì)所有元素的Main分支進(jìn)行整合或者和發(fā)行相關(guān)的清理工作。其它用戶可以繼續(xù)工作,但這可以在其它分支上進(jìn)行,而不是在Main分支上。鎖定一個(gè)標(biāo)簽類型,防止任何用戶創(chuàng)建和刪除該標(biāo)簽。對(duì)某個(gè)發(fā)行版本的所有元素生成標(biāo)簽,然后鎖定該標(biāo)簽,這樣下次重新生成該發(fā)行版本就非常容易了。三、三、View和View對(duì)象的訪問控制View是作為用戶訪問ClearCase元素和版本的媒介。和VOB以及VOB中的對(duì)象一樣,View也參與了訪問控制機(jī)制。為了對(duì)VOB和View數(shù)據(jù)的訪問進(jìn)行控制,在動(dòng)態(tài)View中元素和版本的許可和View及View私有的文件或文件夾的許可

38、必須相互作用,互相配合使用。例如,你需要CheckOut元素的某一個(gè)版本才能修改該元素。要修改的元素必須能獲得CheckOut的許可。在動(dòng)態(tài)View中,CheckOut一個(gè)版本就會(huì)生成一個(gè)View私有的文件。這時(shí)候必需要同時(shí)有在View和要?jiǎng)?chuàng)建文件的文件夾中創(chuàng)建文件的許可。在此容器文件夾既可以是一個(gè)元素的版本也可以是一個(gè)View私有的文件夾。一般來說,要訪問動(dòng)態(tài)View中的ClearCase數(shù)據(jù),處理必須通過下列測(cè)試:處理必須能訪問View;處理必須能訪問包含數(shù)據(jù)的文件夾;處理必須能訪問該元素;在一個(gè)快照View(SnapshotView)中,快照View的文件樹的文件系統(tǒng)本身的許可決定了對(duì)快

39、照View中包含有元素版本拷貝的文件和文件夾的訪問。創(chuàng)建,刪除,更改快照View中的元素需要處理有對(duì)該元素的恰當(dāng)?shù)脑S可。對(duì)動(dòng)態(tài)View的訪問控制動(dòng)態(tài)View的以下屬性和訪問控制密切相關(guān):擁有者。初始的擁有者是創(chuàng)建View的處理的用戶。組。初始的組是創(chuàng)建View的處理的主要組。保護(hù)模式。初始的保護(hù)模式在UNIX和WindowsNT上各不相同:在WindowsNT:View初始時(shí)對(duì)擁有者和組有讀取,修改,運(yùn)行許可,對(duì)其它用戶有讀取和運(yùn)行許可??梢酝ㄟ^View的屬性對(duì)話框來查看View的擁有者,組和保護(hù)模式。在View創(chuàng)建之后就不可以修改它的擁有者和組。可以使用Chview命令改變View的保護(hù)模式

40、為讀寫或者只讀。在UNIX上:初始的保護(hù)模式?jīng)Q定于創(chuàng)建View的用戶的Umask。Umask是UNIX中指定沒有的許可的機(jī)制。當(dāng)用戶創(chuàng)建View時(shí),ClearCase給這個(gè)View對(duì)任何用戶都有讀取,修改和運(yùn)行的許可,然后去除用戶指定的Umask中的許可。例如當(dāng)用戶的Umask為002時(shí),ClearCase去除了其它用戶的修改許可。創(chuàng)建View的許可任何用戶都可以創(chuàng)建View。刪除View的許可只有View的擁有者和特權(quán)用戶才能刪除View。讀取View的許可處理只有同時(shí)擁有動(dòng)態(tài)View和要讀取的文件或文件夾的讀取許可才能讀取文件或文件夾。讀取某個(gè)文件或文件夾元素的版本時(shí),處理還得有該元素的讀

41、取許可。具體詳見讀取元素的許可。讀取View私有的文件或文件夾時(shí),處理還得有該文件或文件夾的讀取許可。具體詳見V讀取View私有文件的許可。ClearCase使用了一個(gè)考慮處理的用戶和組以及View的擁有者,組和保護(hù)模式的算法來決定是否批準(zhǔn)讀取該View的許可。詳見對(duì)ClearCase數(shù)據(jù)的訪問。修改View的許可處理必須要有修改View的許可才能對(duì)View本身進(jìn)行例如設(shè)置View的配置之類的修改。要在文件夾中創(chuàng)建文件或文件夾,處理必須同時(shí)擁有在動(dòng)態(tài)View和容器文件夾中修改的許可。如果容器文件是一個(gè)元素的版本,那么該處理還得有該元素的修改許可。詳見修改元素的許可。如果容器文件夾是一個(gè)View

42、私有的文件夾,該處理還必須有對(duì)該View私有文件夾修該的許可。詳見修改View私有文件夾的許可。ClearCase使用了一個(gè)考慮處理的用戶和組以及View的擁有者,組和保護(hù)模式的算法來決定是否批準(zhǔn)讀修改View的許可。詳見對(duì)ClearCase數(shù)據(jù)的訪問。運(yùn)行View的許可運(yùn)行View的許可處理必須要同時(shí)擁有動(dòng)態(tài)View和View中要運(yùn)行的文件或文件夾的運(yùn)行許可才能運(yùn)行文件或文件夾。為了運(yùn)行文件或文件夾元素的版本,處理還得有運(yùn)行該元素的許可。詳見運(yùn)行元素的許可。為了運(yùn)行View私有的文件或文件夾,處理還得有該View私有的文件或文件夾的許可。詳見運(yùn)行View私有文件的許可。View私有文件的訪問

43、控制本章節(jié)討論動(dòng)態(tài)View中的私有文件的訪問控制機(jī)制。在快照View中,快照View文件樹中的文件和文件夾上文件系統(tǒng)本身的許可決定了最這些文件和文件夾的訪問。View私有的文件和文件夾的以下屬性和訪問控制密切相關(guān):擁有者。初始的擁有者是創(chuàng)建文件或文件夾的處理的用戶。組。初始的組是創(chuàng)建文件或文件夾的處理的主要組。保護(hù)模式。初始的View私有的文件和文件夾的保護(hù)模式有兩種,一種實(shí)在Unix主機(jī)上,另一種在WindowsNT主機(jī)上。在UNIX上:初始的保護(hù)模式?jīng)Q定于創(chuàng)建文件或文件夾的用戶的Umask。Umask是UNIX中指定沒有的許可的機(jī)制。當(dāng)用戶創(chuàng)建文件或文件夾時(shí),ClearCase給這個(gè)文件或

44、文件夾對(duì)任何用戶都有讀取,修改和運(yùn)行的許可,然后去除用戶指定的Umask中的許可。例如當(dāng)用戶的Umask為002時(shí),ClearCase去除了其它用戶的修改許可。在WindowsNT主機(jī)上:View私有的文件或文件夾初始時(shí)對(duì)所有的用戶都有讀取,修改和運(yùn)行的許可??梢允褂肅leartoolDescribe命令查看View私有的文件或文件夾的擁有者,組和保護(hù)模式。ClearCasePropertiesOfFile和ClearCasePropertiesOfDirectory對(duì)話框可以顯示文件和文件夾的擁有者和組。以上兩個(gè)對(duì)話框中的Read-Only復(fù)選框決定所有用戶是否有寫的許可。創(chuàng)建View私有文

45、件的許可處理必須同時(shí)擁有View和View中容器文件夾的修改許可才能在該容器文件中創(chuàng)建文件或文件夾。關(guān)于View的許可,詳見修改View的許可。如果容器文件夾是元素的一個(gè)版本,處理還必須有修改該元素的許可。詳見修改元素的注可。如果容器文件夾是一個(gè)View私有的文件夾,處理還得有修改該View私有的文件夾的許可。詳見修改View私有文件的許可。刪除View私有文件的許可處理必須同時(shí)有View和View中容器文件夾的修改許可才能刪除容器文件夾中的文件或者文件夾。關(guān)于View的許可詳見修改View的許可。如果容器文件夾是元素的一個(gè)版本,處理還必須有修改該元素的許可。詳見修改元素的許可。如果容器文件夾

46、是一個(gè)View私有的文件夾,處理還得有修改該View私有的文件夾的許可。詳見修改View私有文件的許可。讀取View私有文件的許可處理必須同時(shí)擁有讀取View和View私有的文件或文件夾的許可才能讀取該View私有的文件或文件夾。關(guān)于View的許可,詳見讀取View的許可。ClearCase使用了一個(gè)考慮處理的用戶和組以及View私有文件或文件夾的擁有者,組和保護(hù)模式的算法來決定是否批準(zhǔn)讀取該View私有文件或文件夾的許可。詳見對(duì)ClearCase數(shù)據(jù)的訪問。修改View私有文件的許可處理必須同時(shí)擁有修改View和View私有的文件或文件夾的許可才能修改該View私有的文件或文件夾。關(guān)于View的許可,詳見讀取View的許可。ClearCase使用了一個(gè)考慮

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論