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

  免費注冊 查看新帖 |

Chinaunix

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

[ClearCase]Rational ClearCase Multisite 簡介 [復制鏈接]

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





文檔選項


未顯示需要 JavaScript
的文檔選項



打印本頁



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

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




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

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

理解一下branch
類型和branch這兩個概念。branch類型,其實可以簡單的理解成branch的名字,branch其實是branch類型的一個實例
(instance)。如果你想建立一個名為usa_branch的branch,必須要先在VOB里面建立一個名字為usa_branch的
branch類型,當你擁有了這個叫做usa_branch的類型之后,才可以建立叫做usa_branch的branch實例。再形象些
說,usa_branch是branch類型,acc.c@@/main/usa_branch和resource.h@@/main
/usa_branch就是兩個branch實例。
            
在VOB中定義的每一種branch類型都有自己的master replica,包括"main"這種branch的類型。我們可以通過下面的命令來看branch類型的master replica在哪個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
...
            
為什么要反復強調(diào)branch
類型的master replica的概念呢?因為在缺省的情況下,branch實例只能在那些branch類型的master
replica上建立。就上面那個例子,我們看到usa_branch這個branch類型他的master replica是
usa_hub,那么usa_branch實例也只能在usa_hub這個replica中才能生成。Branch
生成好了,如何看branch實例的master replica是哪一個呢? 命令如下:
            
                            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應該具有的
mastership是什么(就是在具有branch類型的master
replica上建立)。那么當我們生成了branch之后,對branch上面的元素(element), 如文件,文件夾,進行checkout,
checkin的動作,實施這些動作需要什么樣的權(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實施reserved checkout,checkin, 只能在sua_hub這個replica上操作。
            

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

            
            

面的用了大量的篇幅描述了branch的mastership,那對于其他的VOB
object,他們的mastership又是怎么樣的呢?當你在本地創(chuàng)建了一個VOB的replica之后,這個新建的replica缺省的就成為你在
這個新創(chuàng)建的replica中所創(chuàng)建的所有object的master replica。我們可以用describe命令去查看他們的master
replica是什么:
            
比如:
            
查看VOB復本的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。當然你也可以將object的mastership的權(quán)限轉(zhuǎn)移給其他的replica,
那么接收到mastership的replica也就成為了master replica.
            




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

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

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

            
                導出階段:
            
            
  • mkreplica -export 命令,例如:
    這條命令的任務(wù)有兩個,一是在另一個主機上新建一個復本VOB,另一個任務(wù)是把本地VOB的信息打包。例子用到的參數(shù) -fship是一種傳輸方式,在下面會提到。
                        > multitool mkreplica -export -workdir /tmp/ms_wkdir -fship    AIX_HOST:usa_hub@/vobs/dev
                   
  • 備份原始的VOB。
    我們這里所說的備份是經(jīng)過復制之后的VOB。如果你使用復制之前的VOB進行恢復,由于源VOB又被標志成了非復制的狀態(tài),所以導致Multisite的 VOB復本恢復將失敗。
  • (可選項)驗證與復制相關(guān)的變化。
    下面的這些命令可以幫助你檢查目前你都做了哪些與復制相關(guān)的工作。mkreplica命令使得在數(shù)據(jù)庫中創(chuàng)建了一個新的VOB復本 對象,你可以直接把VOB復本對象理解為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 命令顯示了與復本對象相關(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"
                   

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

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

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




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

司的策略是使用Rational ClearCase
Multisite產(chǎn)品來進行軟件開發(fā)的版本控制。主要使用ClearCase的UCM,在Site1 上創(chuàng)建開發(fā)所使用的Project VOB 、
Component VOB和 Project,同時,Project的Integration
View也是在Site1上生成的。Site2(上海)方面,需要創(chuàng)建Site1 上的Project VOB和 Componet
VOB的replica,然后join Project VOB上的Project,進行軟件開發(fā)。最后將dev
stream上的成果deliver到Site1上的集成流上;同時也可以將Site1上集成流的更新rebase到本地的開發(fā)流上。這里,以Site1
是windows操作系統(tǒng),而Site2是Unix或Linux的操作系統(tǒng)為例,同時介紹如何利用Multisite來實現(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之前,需要新建一個視圖:myview。
  • 在myview 視圖的環(huán)境下,進入到Win_PVOB的目錄,將Win_PVOB的replica 名字從orginial 改成 win_pvob,用來唯一標識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信息 的包,并按照相應的參數(shù)將這個包傳輸?shù)较鄳闹鳈C;
    -workdir 參數(shù)所指明的是一個工作路徑。在mkreplica -export執(zhí)行的過程中,需要一個工作路徑來存放生成的臨時數(shù)據(jù),
    workdir參數(shù)所指明的這個目錄就起到了存放臨時文件的作用。所以這個目錄需要足夠大,能夠容納整個VOB的內(nèi)容;
    參數(shù)-fship表明,傳入包時需要使用shipping_server,并且這個包是在生成之后立刻被傳送到Site2的; 所指的是Site2的機器名,因此在執(zhí)行此命令之前,需要保證Site1可以通過訪問機器名來訪問到Site2;
    這里的unix_rpvob
    是你要在Site2上創(chuàng)建的Win_PVOB的replica的名字,你可以任意命名這個名字,不過還是建議您按照一定的規(guī)則來命名,
    例如:名稱里包含site的信息,VOB的信息,用來標識這個replica是在哪臺機器上的,是屬于哪個VOB的replica。
            同樣的方法創(chuàng)建Win_CVOB在Site2的replica:
                        
                            > multitool mkreplica -export -workdir c:\temp\workdir -nc -fship :unix_rcvob
                        
                   

            
(三) 在site2上導入VOB replica
            
  • 查看在Site1上執(zhí)行完mkreplica -export后傳送到Site2的包。在Site2 ( Unix machine)上執(zhí)行:
                        
                            >cd /usr/atria/shipping/ms_ship/incoming
    >ls
                        
                        
    這時,在這個目錄下已經(jīng)存在了兩個文件,這就是從Site1上傳輸過來的包含有新建的replica信息的包;蛘邎(zhí)行multitool lspacket,也可以查到所傳入的信息包的位置。
  • 導入包,在Site2上導入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í)行導入replica
    包的操作;-workdir后面的參數(shù)表示存放臨時數(shù)據(jù)的工作目錄,這個目錄需要具有足夠的空間;-tag
    參數(shù)表示在Site2上要創(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)導入的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)建一個文件,將文件加入源控制;將Site2上開發(fā)流上的變化deliver到
    集成流上:在project explorer里,右鍵點擊Site2的開發(fā)流,選擇"deliver > to
    Default"。由于集成流的mastership是Site1 上的replica,
    所以,此時deliver的操作只是成功的把需要deliver的要素傳到Site1的replica上,如圖:
                        
                        

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

            
(四)同步操作:
            
  • 在Site2的命令行里,執(zhí)行以下步驟:
    > cleartool mkview -tag non_ucm_view /var/tmp/non_ucm_view.vws
    用來創(chuàng)建一個普通的視圖。(不是一個UCM的視圖)
                        > cleartool setview non_ucm_view
                       > cleartool mount /var/tmp/Unix_rPVOB
                    > cd /var/tmp/Unix_rPVOB (進入到PVOB的根目錄)
            > multitool syncreplica -export -fship win_pvob
                        
                這里,syncreplica 是同步命令;-export 表示同步后要輸出包;-fship表
                示shipping_server立刻將包輸出到相應的replica;win_pvob是這個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全部的操作成功完成后,會看到一個成功的提示,如圖:
                        
                        

                        
                        
                   

            
(五) 在Site1上,將集成流上的變化rebase到Site1的開發(fā)流
            
rebase
Site1的集成流變化到Site1的開發(fā)流,使得Site1上也得到最新的資源。由于集成流和Site1的開發(fā)流的mastership都是Site1
的replica, 所以能夠在Site1上完成這個rebase操作,而無需同步到Site2上。完成rebase 需要兩個步驟:
            
  • 在project explorer中,在集成流上新建一個baseline;從這個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里新建了一個文件,需要將這個文件同步到Site2的開發(fā)流上,需要經(jīng)歷以下步驟:
            
  • 首先,需要將project的集成流的mastership改成Site2的replica:
    在non_ucm_view 的環(huá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命令的意思是要更改一個object的mastership;-stream表示要更改的object是流;unix_rpvob
    是要改成的replica 名稱;stream
    后面所帶的參數(shù)是流的名稱,這里為project的集成流。這個命令執(zhí)行完畢,會出現(xiàn)一個提示,提示您需要更改branch
    type的mastership,并且給出了需要更改的branch
    type的名稱,在這個例子中就是Win_Proj_Integration@\Win_CVOB。需要記錄下這個branch
    type名,在下一步中,作為參數(shù)輸入。
                   
  • 同樣在non_ucm_view環(huán)境,進入Win_CVOB的根目錄,執(zhí)行chmaster命令,更改branch type。
                        
                            > multitool chmaster unix_rcvob brtype:
                        
                        
                 這里的brtype后接的參數(shù)需要輸入上一步中在提示信息里所記錄的
                   branch type名稱。
                   
  • 將更改mastership的結(jié)果同步到Site2上:
                 需要在non_ucm_view環(huán)境下,首先進入到Win_PVOB根目錄,執(zhí)行:
                        
                            > multitool syncreplica -export -fship unix_rpvob
                        
                        
                 進入到Win_CVOB根目錄,執(zhí)行:
                        
                            > multitool syncreplica -export -fship unix_rcvob
                        
                        
            在Site2上,導入同步信息:
                        
                            > 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并沒有做改動,只是將Win_CVOB的前面的更改deliver到了Win_PVOB:
               在non_ucm_view的環(huá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操作。
                        
                        

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

            




回頁首
五 總結(jié)
            

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

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

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP