亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 4315 | 回復(fù): 0
打印 上一主題 下一主題

[ClearCase]Rational ClearCase Multisite 簡介 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-12-16 01:55 |只看該作者 |倒序?yàn)g覽





文檔選項(xiàng)


未顯示需要 JavaScript
的文檔選項(xiàng)



打印本頁



將此頁作為電子郵件發(fā)送
級別: 初級
慧波 商
, 軟件工程師,                          IBM                        
新麗 史
, 軟件工程師,                          IBM                        
2005 年  12 月  30 日
CearCase
Multitsite 產(chǎn)品的開發(fā)和實(shí)現(xiàn)增強(qiáng)了 ClearCase 產(chǎn)品的功能。使用 Multisite
使分布在各個(gè)國家,或者不同地點(diǎn)的開發(fā)者能夠?qū)ν粋(gè) VOB, 或是同一個(gè) VOB 里的 element 進(jìn)行處理。通過本文了解
CearCase Multitsite 的基本特性和功能。
            
CearCase
Multitsite 產(chǎn)品的開發(fā)和實(shí)現(xiàn)增強(qiáng)了 ClearCase 產(chǎn)品的功能。使用 Multisite
使分布在各個(gè)國家,或者不同地點(diǎn)的開發(fā)者能夠?qū)ν粋(gè) VOB, 或是同一個(gè) VOB 里的 element 進(jìn)行處理。事實(shí)上,Multisit
的機(jī)能就是要使每一個(gè)地點(diǎn) (site) 都擁有一個(gè)核心 VOB 在本地的復(fù)本,在任何時(shí)候,不同的地點(diǎn)都是在自己本地的 VOB
復(fù)本里面進(jìn)行操作。如何保證各個(gè)地點(diǎn)的 VOB
數(shù)據(jù)能夠同步呢?答案是通過相互傳送數(shù)據(jù)更新包來保持?jǐn)?shù)據(jù)的一致性。而這種更新操作是可以被設(shè)置為自動(dòng)完成,也可以使用命令手工完成。
            
ClearCase
Multisite 產(chǎn)品在什么情況下適用呢?ClearCase
Multisite的設(shè)計(jì)是為了協(xié)助跨地域進(jìn)行相對獨(dú)立卻又有聯(lián)系的大規(guī)模的開發(fā)測試項(xiàng)目。例如:一個(gè)開發(fā)的機(jī)構(gòu)他的組織非常的龐大,它的中心機(jī)構(gòu)設(shè)在美
國總部,但是它的開發(fā)及測試小組可能遍布于全世界各地。那么在這種情況下,如果想要集中他所有的開發(fā)和測試人員在美國開發(fā)項(xiàng)目就是非常不客觀的。這時(shí)就需
要引用ClearCase
Multisite這個(gè)產(chǎn)品來解決這個(gè)問題,也就是說,每個(gè)開發(fā)小組所在地都保留并維護(hù)著一個(gè)對處于美國總部的各個(gè)VOB的復(fù)本,各地的開發(fā)小組使用
ClearCase Multisite 來進(jìn)行產(chǎn)品的分布式開發(fā),從而解決了開發(fā)的跨地域性問題。
            
不僅僅如
此,Multisite
也可以引用在單一的一個(gè)地理位置,有三個(gè)基本作用,一個(gè)是可以實(shí)現(xiàn)獨(dú)立的開發(fā)小組共同使用統(tǒng)一的開發(fā)數(shù)據(jù);另一個(gè)用途是使VOB
可以在混合操作系統(tǒng)平臺的環(huán)境中工作;還有就是對核心VOB的備份等等。舉個(gè)例子,如果你想將開發(fā)工作從Unix平臺轉(zhuǎn)移到Windows平臺時(shí),你只需
在Windows平臺上建一個(gè)對Unix平臺上VOB的復(fù)本,而不是試圖在Windows上連接Unix平臺上的VOB,
畢竟在混合系統(tǒng)環(huán)境中做VOB的導(dǎo)入導(dǎo)出是相當(dāng)費(fèi)力的。
            
下面,本文將從幾個(gè)方面分別介紹ClearCase Multisite產(chǎn)品的一些概念、特性和基本的操作。
            
一、        VOB  和VOB 的復(fù)本 (VOB Replicas)
            
二、        實(shí)現(xiàn)獨(dú)立開發(fā)的重要機(jī)制:Mastership
            
三、        ClearCase Multisite的兩個(gè)基本操作:復(fù)制(create VOB replica)和同步(synchronize replica)
            
四、        UCM Deliver/Rebase 在Multisite操作中的應(yīng)用實(shí)例
            
一  VOB  和VOB 的復(fù)本 (VOB Replicas)
            
VOB(Versioned
Object
Base)是ClearCaes中最基礎(chǔ)的概念,也是使用頻率最高的術(shù)語之一。VOB提供了對于整體的目錄結(jié)構(gòu),包括文件夾,文件,和連接的永久存儲。
VOB中的文件,文件夾,以及連接的歷史版本都存儲在存儲池目錄的數(shù)據(jù)容器中。你可以把VOB看成是一個(gè)小型的數(shù)據(jù)庫,在這個(gè)數(shù)據(jù)庫中不但記錄了已經(jīng)被實(shí)
施了版本控制的文件系統(tǒng)對象的所有發(fā)展過程的數(shù)據(jù),例如版本信息,并且還記錄了相關(guān)的元數(shù)據(jù)(metadata),例如:版本標(biāo)簽(label),超級連
接(hyperlink),配置記錄等。
            
我們了解了VOB,再來看一下VOB的復(fù)本(VOB
Replicas)。為了實(shí)現(xiàn)ClearCase
Multisite,我們需要在不同的地點(diǎn)進(jìn)行VOB的復(fù)制。VOB的復(fù)本也像一個(gè)常規(guī)的VOB一樣,用戶可以在VOB復(fù)本內(nèi)進(jìn)行各種各樣的操作,例如
checkout, check in, edit,
實(shí)行軟件的編譯,可以創(chuàng)建元數(shù)據(jù)(metadata),并且可以將元數(shù)據(jù)附加到對象中(這句話可能比較難理解,舉個(gè)例子:我們創(chuàng)建一個(gè)label,
并且把label附屬到某一個(gè)元素上)。下面的圖里面例舉了一個(gè)Multisite的例子:歐洲的site將美國site的VOB進(jìn)行了復(fù)制,復(fù)制過來的
VOB replica里面的內(nèi)容和原來的VOB相同,但是在usa_branch上,歐洲site只有只讀的權(quán)限。
            
               
               

            
            
對于大多數(shù)開發(fā)用戶來說,他們不必知道VOB被復(fù)制了幾份,但是他們需要意識到開發(fā)是并行的。也就是說,他們在一個(gè)branch上的進(jìn)行了修改,其他的地點(diǎn)可能在另一個(gè)branch上也進(jìn)行了修改,這些修改最終是要協(xié)調(diào)合并到一起的。
            




回頁首
二 實(shí)現(xiàn)獨(dú)立開發(fā)的重要機(jī)制:Mastership
            

什么要引進(jìn)mastership的概念?由于各個(gè)地點(diǎn)使用自己創(chuàng)建的VOB
replica進(jìn)行獨(dú)立的開發(fā),那么就有可能出現(xiàn)修改上面的沖突,比如大家都需要修改某一個(gè)文件。為了避免這種沖突,ClearCase
Multisite支持mastership的機(jī)制,只有具有mastership的site,才可以修改,或者執(zhí)行其他操作,也就是說
mastership能夠?qū)崿F(xiàn)"修改權(quán)限互斥"的機(jī)制。
            
基本上所有的VOB object都有自己的宿主replica(master replica),下面以Branch這個(gè)object為例進(jìn)行詳細(xì)說明。
            

理解一下branch
類型和branch這兩個(gè)概念。branch類型,其實(shí)可以簡單的理解成branch的名字,branch其實(shí)是branch類型的一個(gè)實(shí)例
(instance)。如果你想建立一個(gè)名為usa_branch的branch,必須要先在VOB里面建立一個(gè)名字為usa_branch的
branch類型,當(dāng)你擁有了這個(gè)叫做usa_branch的類型之后,才可以建立叫做usa_branch的branch實(shí)例。再形象些
說,usa_branch是branch類型,acc.c@@/main/usa_branch和resource.h@@/main
/usa_branch就是兩個(gè)branch實(shí)例。
            
在VOB中定義的每一種branch類型都有自己的master replica,包括"main"這種branch的類型。我們可以通過下面的命令來看branch類型的master replica在哪個(gè)replica上。
            
                            multitool describe brtype:usa_branch@/vobs/dev
branch type " usa_branch "
created 16-Aug-00.18:12:23 by John Cole (jcole.user@goldengate)
" usa branch for work on dev project"
master replica: usa_hub@/vobs/dev
...
            
為什么要反復(fù)強(qiáng)調(diào)branch
類型的master replica的概念呢?因?yàn)樵谌笔〉那闆r下,branch實(shí)例只能在那些branch類型的master
replica上建立。就上面那個(gè)例子,我們看到usa_branch這個(gè)branch類型他的master replica是
usa_hub,那么usa_branch實(shí)例也只能在usa_hub這個(gè)replica中才能生成。Branch
生成好了,如何看branch實(shí)例的master replica是哪一個(gè)呢? 命令如下:
            
                            multitool describe test.txt@@/main/usa_branch
branch "test.txt@@/main/v2.0_port"
created 18-Aug-00.10:50:34 by John Cole (jcole.user@goldengate)
branch type: usa_branch
master replica: usa_hub@/vobs/dev (defaulted)
...
            
上面介紹了建立branch應(yīng)該具有的
mastership是什么(就是在具有branch類型的master
replica上建立)。那么當(dāng)我們生成了branch之后,對branch上面的元素(element), 如文件,文件夾,進(jìn)行checkout,
checkin的動(dòng)作,實(shí)施這些動(dòng)作需要什么樣的權(quán)限呢?那就是要對元素所在的branch有mastership。例如前面提到的text.txt的例
子,
            
                            multitool describe test.txt@@/main/usa_branch
branch "test.txt@@/main/usa_branch"
created 18-Aug-00.10:50:34 by John Cole (jcole.user@goldengate)
branch type: usa_branch
master replica: usa_hub@/vobs/dev (defaulted)
...
            
從上面的命令結(jié)果,可以得到這樣的結(jié)論:由于usa_branch的master replica是usa_hub,要想對text.txt實(shí)施reserved checkout,checkin, 只能在sua_hub這個(gè)replica上操作。
            

常所提倡的Multisite的開發(fā)模式,可以用圖示的例子說明:開發(fā)在兩個(gè)地點(diǎn)進(jìn)行,一個(gè)是main site,一個(gè)是USA
site,在各自的開發(fā)點(diǎn)上,開發(fā)是在不同的branch上面進(jìn)行的。Main
Site是在main的branch上進(jìn)行,它在main的branch上有mastership,而在usa_branch上面沒有
mastership,是只讀的。USA
site相反,它是在usa_branch上有mastership,而在main上面沒有mastership。所以兩個(gè)site的可以并行開發(fā)但是并
不互相干擾。
            
               
               

            
            

面的用了大量的篇幅描述了branch的mastership,那對于其他的VOB
object,他們的mastership又是怎么樣的呢?當(dāng)你在本地創(chuàng)建了一個(gè)VOB的replica之后,這個(gè)新建的replica缺省的就成為你在
這個(gè)新創(chuàng)建的replica中所創(chuàng)建的所有object的master replica。我們可以用describe命令去查看他們的master
replica是什么:
            
比如:
            
查看VOB復(fù)本的master replica:
            
                cleartool describe replica:usa_hub@/vobs/dev
            
            
查看工程(project)的master replica:
            
                cleartool describe project:proj_site1@/vobs/dev  (/vobs/dev是ucm project vob的tag)
            
            
查看流(stream)的master replica:
            
                cleartool describe stream:tester_proj_site1@/vobs/dev
            
            

創(chuàng)建的objects只能在它的master
replica來控制和管理,你可以修改,刪除這些object。當(dāng)然你也可以將object的mastership的權(quán)限轉(zhuǎn)移給其他的replica,
那么接收到mastership的replica也就成為了master replica.
            




回頁首
三ClearCase Multisite的兩個(gè)基本操作:復(fù)制和同步
            
(一)復(fù)制 (create VOB replica)
            
復(fù)制VOB需要進(jìn)行以下三個(gè)步驟:
            
1,        導(dǎo)出:在某一地點(diǎn)的主機(jī)上,輸入mkreplica -export命令,這個(gè)命令的執(zhí)行結(jié)果是生成一個(gè)新的VOB復(fù)本(replica)和裝有VOB復(fù)制信息的包。
            
2,        傳輸:將步驟1中生成的包發(fā)送到其它的地方的主機(jī)上。
            
3,        導(dǎo)入:在另一地點(diǎn)的主機(jī)上接收并倒入帶有VOB復(fù)制信息的包。
            
下面將對make replica的過程作以詳細(xì)的介紹。
            
                復(fù)制VOB之前的準(zhǔn)備工作:
            
            
  • 確保是否已經(jīng)獲得了ClearCase Multiste 產(chǎn)品的使用許可。使用mkreplica -export命令,只有ClearCase的使用許可是不夠的,還必需持有Multisite的使用許可。

  • 進(jìn)行復(fù)制前,要在原始VOB上打上基線(如果你使用的ClearCase UCM)或者加上標(biāo)簽(apply
    label)。這樣在新的VOB上工作的開發(fā)人員就可以在使用新VOB之前在這些基線(baseline)或者標(biāo)簽(label)的基礎(chǔ)之上創(chuàng)建分支
    (branch),然后在這些分支上開始開發(fā)工作。
  • 為原始VOB的replica 對象更改名字。即使這個(gè)VOB從來沒有被復(fù)制過,這個(gè)VOB的數(shù)據(jù)庫中也已經(jīng)存在一個(gè)replica 對象,叫做:original?梢允褂靡韵旅畈榭催@個(gè)replica對象:
                        > cleartool lsreplica -invob /vobs/dev
    使用以下命令對original 改名:
                        > multitool rename replica:original main_hub (名稱改成main_hub)
  • 在對VOB進(jìn)行復(fù)制之前還要確保VOB并沒有被鎖住。用下面這個(gè)命令來查看VOB的狀態(tài):
                        > lslock vob:/vobs/dev
                   

  • 看VOB數(shù)據(jù)庫的大小。在mkreplica 的命令里有個(gè)參數(shù)是 -workdir,
    這個(gè)參數(shù)是用來指定執(zhí)行這個(gè)命令時(shí)的工作目錄的。所以這個(gè)指定的工作目錄必須足夠大,足以容納這個(gè)VOB數(shù)據(jù)庫。因此在執(zhí)行mkreplica之前,得到
    VOB數(shù)據(jù)庫的大小是非常必要的,有利于指定一個(gè)合適的工作目錄。而且執(zhí)行該命令的用戶還必須對這個(gè)工作目錄具有可寫的權(quán)限。察看VOB大小的命令:
                        > cleartool space /vobs/dev
                   

            
                導(dǎo)出階段:
            
            
  • mkreplica -export 命令,例如:
    這條命令的任務(wù)有兩個(gè),一是在另一個(gè)主機(jī)上新建一個(gè)復(fù)本VOB,另一個(gè)任務(wù)是把本地VOB的信息打包。例子用到的參數(shù) -fship是一種傳輸方式,在下面會提到。
                        > multitool mkreplica -export -workdir /tmp/ms_wkdir -fship    AIX_HOST:usa_hub@/vobs/dev
                   
  • 備份原始的VOB。
    我們這里所說的備份是經(jīng)過復(fù)制之后的VOB。如果你使用復(fù)制之前的VOB進(jìn)行恢復(fù),由于源VOB又被標(biāo)志成了非復(fù)制的狀態(tài),所以導(dǎo)致Multisite的 VOB復(fù)本恢復(fù)將失敗。
  • (可選項(xiàng))驗(yàn)證與復(fù)制相關(guān)的變化。
    下面的這些命令可以幫助你檢查目前你都做了哪些與復(fù)制相關(guān)的工作。mkreplica命令使得在數(shù)據(jù)庫中創(chuàng)建了一個(gè)新的VOB復(fù)本 對象,你可以直接把VOB復(fù)本對象理解為VOB對象。它的屬性可以用lsreplica命令顯示:
                        > multitool lsreplica -invob /vobs/dev
    For VOB replica "/vobs/dev":
    15-Aug.14:19 tester replica "main_hub"
    16-Aug.09:49 tester replica "usa_hub"
                        
                        
    lshistory 命令顯示了與復(fù)本對象相關(guān)的所有事件。
                        > cleartool lshistory replica:usa_hub@/vobs/dev
    16-Aug.09:45 tester rename replica " usa_hub" "Changed name of replica from "original" to " usa_hub"."
    15-Aug.14:19 tester make attribute "FeatureLevel" on replica usa_hub"
                   

            
                傳輸階段:
            
            
傳輸過程也就是將生成的復(fù)制包傳送到一個(gè)新的地點(diǎn),傳輸?shù)姆绞揭驗(yàn)樵?mkreplica -export里所使用的參數(shù)不同而不同:
            
  • 如果使用的是-fship參數(shù),這個(gè)包將會立刻被傳送到另一個(gè)地點(diǎn)的主機(jī)上。
  • 如果使用的是-ship參數(shù),就必須運(yùn)行shipping_server傳送包。
  • 如果使用的是-tape 參數(shù),那需要使用磁帶或者其它介質(zhì)協(xié)助傳送包。

            
                導(dǎo)入階段:
            
            
  • 在準(zhǔn)備接收的主機(jī)上,可以用lspacket這個(gè)命令來查看所有接收到的包,例如,AIX_HOST是準(zhǔn)備接收包的主機(jī):
                        AIX_HOST> multitool lspacket
                   
  • 執(zhí)行mkreplica -import 命令
    VOB 的replica 也是有權(quán)限控制的。mkreplica -import命令執(zhí)行完畢,執(zhí)行這個(gè)命令的用戶將會變成VOB replica 和這個(gè)VOB replica所有元素的owner。
    同樣的,-workdir指定的工作目錄也必須足夠大,需要有至少1.6GB的可用空間。
    必須具體指明輸入包的所在目錄。
  • 刪除replica-creation 包,replica 更新包會自動(dòng)刪除。

            
(二)手工同步 (manual synchronize replica)
            
                導(dǎo)出階段
            
            
使用syncreplica -export 命令和正確的參數(shù)生成更新包。如果你的機(jī)器處于網(wǎng)絡(luò)環(huán)境中,可以使用-fship參數(shù)直接將更新包傳輸?shù)搅硪慌_主機(jī)上。
            
例如:
                > multitool syncreplica -export -workdir /tmp/ms_wkdir -fship aixmachine
            
            
                傳輸階段
            
            
如果在syncreplica -export命令中使用了-fship參數(shù),更新包會直接被傳送到另一臺主機(jī)上;
            
如果在syncreplica -export命令中使用了-ship參數(shù),會以兩種方式調(diào)用shipping_server: shipping_server -poll and shipping_server shipping-order-pathname.
            
如果不是用-fship 或-ship 參數(shù),可以使用mail或其他的傳送方法來傳送包。
            
如果使用其它傳輸介質(zhì)進(jìn)行傳輸,直接將包拷到主機(jī)的相應(yīng)位置即可;
            
                導(dǎo)入階段
            
            
使用lspacket命令確認(rèn)已經(jīng)接收到更新包。
            
使用syncreplica -import 命令,把更新包的內(nèi)容導(dǎo)入到VOB replica。例如:
            
                > multitool syncreplica -import  -receive  
            
            
這里使用-receive 參數(shù),意思是接收在incoming shipping目錄下所有能夠找到的包;
            
                > multitool syncreplica -import c:\msite\packet
            
            
這個(gè)例子指定了一個(gè)目錄作為參數(shù),syncreplica -import 命令會從c:\msite\packet 目錄下找所需要的更新包,然后把這些更新應(yīng)用到vob replica上。
            




回頁首
四UCM Deliver/Rebase 的應(yīng)用實(shí)例
            
場景介紹:
            
在這個(gè)例子里面,一個(gè)大型軟件公司的核心開發(fā)部門在北京,同時(shí)在上海也設(shè)立了開發(fā)部門,負(fù)責(zé)另一個(gè)模塊的開發(fā)工作,F(xiàn)在有兩臺開發(fā)用的主機(jī)Site1 和 Site2 分別位于北京和上海的軟件開發(fā)組。
            

司的策略是使用Rational ClearCase
Multisite產(chǎn)品來進(jìn)行軟件開發(fā)的版本控制。主要使用ClearCase的UCM,在Site1 上創(chuàng)建開發(fā)所使用的Project VOB 、
Component VOB和 Project,同時(shí),Project的Integration
View也是在Site1上生成的。Site2(上海)方面,需要?jiǎng)?chuàng)建Site1 上的Project VOB和 Componet
VOB的replica,然后join Project VOB上的Project,進(jìn)行軟件開發(fā)。最后將dev
stream上的成果deliver到Site1上的集成流上;同時(shí)也可以將Site1上集成流的更新rebase到本地的開發(fā)流上。這里,以Site1
是windows操作系統(tǒng),而Site2是Unix或Linux的操作系統(tǒng)為例,同時(shí)介紹如何利用Multisite來實(shí)現(xiàn)ClearCase的
interop操作(混合操作平臺)。
            
               
               

            
            
(一)在Site1上搭建UCM 的開發(fā)環(huán)境
            
  • 在 Site 1 (Windows OS)上,使用圖形界面來創(chuàng)建Project VOB和
    Componet vob,Click:
                        Start -> All Programs -> Rational Software -> Rational ClearCase -> Administration -> Create VOB,
    Project VOB:Win_PVOB 和 Componet VOB:Win_CVOB 創(chuàng)建成功。
  • 在ClearCase Project Explorer里創(chuàng)建Project及Join project

            
(二)在Site1上創(chuàng)建VOB replica
            
  • 創(chuàng)建VOB replica的過程需要在視圖的環(huán)境里完成的,所以在執(zhí)行mkreplica命令創(chuàng)建VOB replica之前,需要新建一個(gè)視圖:myview。
  • 在myview 視圖的環(huán)境下,進(jìn)入到Win_PVOB的目錄,將Win_PVOB的replica 名字從orginial 改成 win_pvob,用來唯一標(biāo)識Win_PVOB在Site1上的 replica 名字:
                        
                            > multitool rename replica:original win _pvob
                        。
    同樣地,更改Win_CVOB的replica的名稱:
                        
                            > multitool rename replica:original win _cvob
                        .
  • 創(chuàng)建VOB replica:
    創(chuàng)建Win_PVOB在Site2的replica:
                        
                            > multitool mkreplica -export -workdir c:\temp\workdir -nc -fship :unix_ rpvob.
                        
                        
    其中, -export 表示mkreplica所執(zhí)行的結(jié)果是要生成包含replica信息 的包,并按照相應(yīng)的參數(shù)將這個(gè)包傳輸?shù)较鄳?yīng)的主機(jī);
    -workdir 參數(shù)所指明的是一個(gè)工作路徑。在mkreplica -export執(zhí)行的過程中,需要一個(gè)工作路徑來存放生成的臨時(shí)數(shù)據(jù),
    workdir參數(shù)所指明的這個(gè)目錄就起到了存放臨時(shí)文件的作用。所以這個(gè)目錄需要足夠大,能夠容納整個(gè)VOB的內(nèi)容;
    參數(shù)-fship表明,傳入包時(shí)需要使用shipping_server,并且這個(gè)包是在生成之后立刻被傳送到Site2的; 所指的是Site2的機(jī)器名,因此在執(zhí)行此命令之前,需要保證Site1可以通過訪問機(jī)器名來訪問到Site2;
    這里的unix_rpvob
    是你要在Site2上創(chuàng)建的Win_PVOB的replica的名字,你可以任意命名這個(gè)名字,不過還是建議您按照一定的規(guī)則來命名,
    例如:名稱里包含site的信息,VOB的信息,用來標(biāo)識這個(gè)replica是在哪臺機(jī)器上的,是屬于哪個(gè)VOB的replica。
            同樣的方法創(chuàng)建Win_CVOB在Site2的replica:
                        
                            > multitool mkreplica -export -workdir c:\temp\workdir -nc -fship :unix_rcvob
                        
                   

            
(三) 在site2上導(dǎo)入VOB replica
            
  • 查看在Site1上執(zhí)行完mkreplica -export后傳送到Site2的包。在Site2 ( Unix machine)上執(zhí)行:
                        
                            >cd /usr/atria/shipping/ms_ship/incoming
    >ls
                        
                        
    這時(shí),在這個(gè)目錄下已經(jīng)存在了兩個(gè)文件,這就是從Site1上傳輸過來的包含有新建的replica信息的包;蛘邎(zhí)行multitool lspacket,也可以查到所傳入的信息包的位置。
  • 導(dǎo)入包,在Site2上導(dǎo)入replica。
    在Site2上創(chuàng)建Win_PVOB的replica VOB:
                        
                            >
    multitool mkreplica -nc -import -vre unix_rpvob -workdir
    /var/tmp/workdir -tag /var/tmp/Unix_rPVOB -vob /var/tmp/ Unix_rPVOB.vbs
    -npreserve
                        
                        
    其中:import參數(shù)表示mkreplica命令要執(zhí)行導(dǎo)入replica
    包的操作;-workdir后面的參數(shù)表示存放臨時(shí)數(shù)據(jù)的工作目錄,這個(gè)目錄需要具有足夠的空間;-tag
    參數(shù)表示在Site2上要?jiǎng)?chuàng)建新的replica VOB的tag;-vob參數(shù)表示VOB
    文件的存儲路徑;-npreserve參數(shù)表明采用不保持和export Site一致的用戶和權(quán)限創(chuàng)建replica VOB,
    是指/usr/atria/shipping/ms_ship/incoming目錄下的文件名,根據(jù)VOB名稱選擇不同的packet
    名。
    同樣地,在Site2上創(chuàng)建Win_CVOB的replica VOB:
                        
                            >
    multitool mkreplica -nc -import -vre unix_rcvob -workdir
    /var/tmp/workdir -tag /var/tmp/Unix_rCVOB -vob /var/tmp/Unix _rCVOB.vbs
    -npreserve
                        
                        
                   
  • Site2上Mount已經(jīng)導(dǎo)入的replica VOB:
                        
                            > cd /var/tmp
    > mkdir Unix_rPVOB
    > mkdir Unix_rCVOB
    > cleartool mount /var/tmp/ Unix_rPVOB
    > cleartool mount /var/tmp/ Unix_rCVOB
                        
                        
                   
  • 在Site2上執(zhí)行一些操作:
    Join
    Project;在開發(fā)視圖的環(huán)境下,在Unix_rCVOB根目錄下里創(chuàng)建一個(gè)文件,將文件加入源控制;將Site2上開發(fā)流上的變化deliver到
    集成流上:在project explorer里,右鍵點(diǎn)擊Site2的開發(fā)流,選擇"deliver > to
    Default"。由于集成流的mastership是Site1 上的replica,
    所以,此時(shí)deliver的操作只是成功的把需要deliver的要素傳到Site1的replica上,如圖:
                        
                        

                        
    圖中所示是deliver成功后的結(jié)果,并且提示您如果想完成deliver的全部操作請到site1的replica上面執(zhí)行。在此之前,需要進(jìn)行site1和site2的同步操作,將Site2上的變化傳到Site1上。
                   

            
(四)同步操作:
            
  • 在Site2的命令行里,執(zhí)行以下步驟:
    > cleartool mkview -tag non_ucm_view /var/tmp/non_ucm_view.vws
    用來創(chuàng)建一個(gè)普通的視圖。(不是一個(gè)UCM的視圖)
                        > cleartool setview non_ucm_view
                       > cleartool mount /var/tmp/Unix_rPVOB
                    > cd /var/tmp/Unix_rPVOB (進(jìn)入到PVOB的根目錄)
            > multitool syncreplica -export -fship win_pvob
                        
                這里,syncreplica 是同步命令;-export 表示同步后要輸出包;-fship表
                示shipping_server立刻將包輸出到相應(yīng)的replica;win_pvob是這個(gè)Project VOB在Site1上replica的名稱。
                同樣地,在non_ucm_view的環(huán)境下,
                        > cd /var/tmp/Unix_rCVOB
                        
                        
                            >multitool syncreplica -export -fship win_cvob
                        
                        
                   
  • 在Site1上接收同步包:
                        
                            > multitool syncreplica -import -receive
                        
                        
                   
  • 在Site1上完成deliver操作:
                在Project Explorer,選中Win_Pvob > project, 選擇 Tools > Find Posted
                deliveries,在Find Posted Deliveries窗口上,選擇Site2的開發(fā)流,如
            圖:
                        
                        

                        
                        
               選擇"deliver",完成deliver操作,是site2上開發(fā)流的變化集成到project的集成流上。
                        
                        

                        
                        
            delivery全部的操作成功完成后,會看到一個(gè)成功的提示,如圖:
                        
                        

                        
                        
                   

            
(五) 在Site1上,將集成流上的變化rebase到Site1的開發(fā)流
            
rebase
Site1的集成流變化到Site1的開發(fā)流,使得Site1上也得到最新的資源。由于集成流和Site1的開發(fā)流的mastership都是Site1
的replica, 所以能夠在Site1上完成這個(gè)rebase操作,而無需同步到Site2上。完成rebase 需要兩個(gè)步驟:
            
  • 在project explorer中,在集成流上新建一個(gè)baseline;從這個(gè)baseline上rebase到開發(fā)流。
  • 選中開發(fā)流,右鍵,選擇rebase stream。到這為止,Site1和Site2上的開發(fā)流內(nèi)容完全一致(私有文件除外)。下面的圖示就是在site2的開發(fā)流上操作rebase from recommended baseline。
                        
                        

                        
                        
                   

            
(六)將site1的集成流變化rebase 到site2的開發(fā)流
            
如果需要將Site1開發(fā)流上的變化同步到Site2的開發(fā)流上,例如在Site1的開發(fā)流環(huán)境中,在Win_CVOB里新建了一個(gè)文件,需要將這個(gè)文件同步到Site2的開發(fā)流上,需要經(jīng)歷以下步驟:
            
  • 首先,需要將project的集成流的mastership改成Site2的replica:
    在non_ucm_view 的環(huán)境中,進(jìn)入Win_PVOB的根目錄,執(zhí)行chmaster命令。
                        
                            >multitool chmaster -stream unix_rpvob stream: Win_project_ Integra tion
                            
    Mastership was changed for all objects associated with stream "Win_Proj_Integrat
    ion".
    You must change mastership manually for the following branch types:
            Win_Proj_Integration@\Win_CVOB
                        
    這里,chmaster命令的意思是要更改一個(gè)object的mastership;-stream表示要更改的object是流;unix_rpvob
    是要改成的replica 名稱;stream
    后面所帶的參數(shù)是流的名稱,這里為project的集成流。這個(gè)命令執(zhí)行完畢,會出現(xiàn)一個(gè)提示,提示您需要更改branch
    type的mastership,并且給出了需要更改的branch
    type的名稱,在這個(gè)例子中就是Win_Proj_Integration@\Win_CVOB。需要記錄下這個(gè)branch
    type名,在下一步中,作為參數(shù)輸入。
                   
  • 同樣在non_ucm_view環(huán)境,進(jìn)入Win_CVOB的根目錄,執(zhí)行chmaster命令,更改branch type。
                        
                            > multitool chmaster unix_rcvob brtype:
                        
                        
                 這里的brtype后接的參數(shù)需要輸入上一步中在提示信息里所記錄的
                   branch type名稱。
                   
  • 將更改mastership的結(jié)果同步到Site2上:
                 需要在non_ucm_view環(huán)境下,首先進(jìn)入到Win_PVOB根目錄,執(zhí)行:
                        
                            > multitool syncreplica -export -fship unix_rpvob
                        
                        
                 進(jìn)入到Win_CVOB根目錄,執(zhí)行:
                        
                            > multitool syncreplica -export -fship unix_rcvob
                        
                        
            在Site2上,導(dǎo)入同步信息:
                        
                            > multitool syncreplica -import -receive
                        
                        
                   
  • 在Site1上執(zhí)行deliver:
    在上一步中已經(jīng)將集成流的mastership從Site1的replica改成Site2的replica,并且將更新同步到Site2之后,在這一步中開始在Site1上執(zhí)行deliver操作,如圖:
                        
                        

                        
                        
                        

                        
                   
  • 把Site1 的deliver更新同步到Site2上,這次不需要同步Win_CVOB了,以為Win_CVOB并沒有做改動(dòng),只是將Win_CVOB的前面的更改deliver到了Win_PVOB:
               在non_ucm_view的環(huán)境下,進(jìn)入到Win_PVOB根目錄,執(zhí)行:
                        
                            > multitool syncreplica -export -fship unix_rpvob
                        
                        
                 在Site2上接收同步包:
                        
                            > multitool syncreplica -import -receive
                        
                        
                   
  • deliver執(zhí)行之后,只是將結(jié)果傳送到了Site2的replica上,需要繼續(xù)在Site2上執(zhí)行Find posted deliveries操作,從而最終完成deliver操作。
                        
                        

                   
  • 當(dāng)更新到達(dá)Site2的集成流后,可以通過rebase將更新傳到Site2的開發(fā)流中。這樣Site2的開發(fā)流和Site1的開發(fā)流就完全一致了。

            




回頁首
五 總結(jié)
            

文概括了ClearCase
Multisite所涉及的基本概念,包括VOB和VOB復(fù)本,Mastership,以及完成創(chuàng)建VOB復(fù)本和手動(dòng)同步更新的步驟。最后本文通過一個(gè)場
景實(shí)例詳細(xì)描述了如何用Multisite來實(shí)現(xiàn)一個(gè)分布式開發(fā)。希望對從事相關(guān)工作的技術(shù)人員有一定的幫助。
               
               
               

本文來自ChinaUnix博客,如果查看原文請點(diǎn):http://blog.chinaunix.net/u3/90363/showart_2122386.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP