clearcase1的內容

ClearCase在真實項目開發中如何使用啦?下面給大家一個大概的流程圖:

ClearCase在項目開發中如何使用




概念:

公司採用的代碼管理工具是ClearCase,在使用過程中,經歷了從最初的比較迷惑到基本熟悉的過程。說實話並不是怎麼易用。裏面的概念也比較難於理解。這裏我就介紹一下ClearCase的一些基本概念,這些都是使用ClearCase所必需知道的:

1. VOB--Versioned Object Base, ClearCase將所有管理的文件的各種版本都存儲在這個VOB中,VOB可以看作是整個ClearCase SCM(軟件配置管理)系統的中心數據庫

2. View--View分爲SnapShot View和Dynamic View,Snapshot view是clearcase在服務器上存儲的文件和目錄的一個本地鏡像,用戶可以在本地進行修改,然後進行同步,要經常Update View保持最新的版本,Dynamic View是動態試圖,他並不在本地存儲任何文件,始終和服務器保持一致。

3. Reserved checkout vs unreserved checkout -- 一個文件可以被多個用戶的多個view來unreserved checkout,但是同時只能有一個用戶reserved checkout。當一個用戶reserved checkout的時候,其他unreserved checkout的文件,不能checkin,只能等reserved checkout的文件被checkin之後才能夠checkin。

4. hijacked文件--當用戶創建Snapshot View的時候,本地的文件屬性都是隻讀的,如果用戶沒有check out的情況下就對文件進行了修改,這個文件就爲hijacked文件,此時這個文件已經脫離的ClearCase的控制,所以最好不要Hijacked 文件。

5. mastership--很多情況下,ClearCase都被部署爲MultiSite的形式,特別是跨地域開發的時候,每個地方的開發人員都在本地的一個VOB副本上工作,叫做replica, ClearCase負責同步這些不同的VOB。爲了避免衝突,ClearCase提供了一個排他修改的屬性,叫做mastership。所有的VOB對象都有一個master replica。master replica 對這個對象有排他的修改操作權限,因此對於一個VOB對象只有master replica才能對他進行修改或刪除。所以在你把新的文件或目錄Add to source control的時候,最好要選擇 “Make current replica the master of all newly created branches”。

6. merge文件--當一個用戶check out一個文件進行了修改,在check in的時候如果clearcase發現這個文件和最新的版本有衝突的時候(可能是其他用戶也對該文件進行了修改並已經check in),會提示要merge文件,這時候就可能需要手工的merge了。


ClearCase配置管理

  隨着軟件團隊人員的增加,軟件版本不斷變化,時間的緊缺,多種平臺的複雜環境,使得 ClearCase所擁有的特殊組件已成爲當今軟件開發人員(工程人員和管理者)所必須的工具。分佈式操作使得基於Client/Server的運算結構跨越於網上客戶機和服務器,ClearCase的先進功能直接解決了原來開發團隊所面臨的難以處理的問題。

  軟件開發所面臨的問題包括:對當前多種產品的開發和維護,保證產品版本的精確,重建先前發佈的產品,加強開發政策的統一和對特殊版本需求的處理。通過解決這些問題,ClearCase用資源重用的方法幫助開發團隊使他們所有的軟件建立得更加可靠。 Rational公司的ClearCase是軟件配置領域的先導,它主要基於Windows和UNIX的開發環境。它提供了全面的配置管理──包括版本控制、工作空間管理、建立管理和過程控制,而且無須軟件開發者改變他們現有的環境、工具和工作方式。
 
ClearCase的四種功能

  ClearCase主要應用於複雜的產品發放、分佈式團隊合作、並行的開發和維護任務,包括支持當今流行軟件開發環境Client/Server網絡結構。在激烈的市場競爭中,ClearCase的特點直接響應了軟件團隊的需求,如:軟件生產、發佈、維護等。

  ClearCase在某些方式上和其它的軟件配置管理系統有所不同,從本質上,ClearCase是無可比擬的,因爲它包含了一套完整的軟件配置管理工具而且結構透明、界面可親。雖然ClearCase是一個可集成使用的環境,但實際上我們仍可以把ClearCase的所有特性劃分爲四個具體功能範疇。

Version Control

  ClearCase自動追蹤每一個文件和目錄的變更情況,通過分支和歸併功能支持並行開發。在軟件開發環境中,ClearCase可以對每一種對象類型(包括源代碼、二進制文件、目錄內容、可執行文件、文檔、測試包、編譯器、庫文件等)實現版本控制。因而,ClearCase提供的能力遠遠超出資源控制,並且可以幫助團隊,在開發軟件時爲他們所處理的每一種信息類型建立一個安全可靠的版本歷史記錄。

Workspace Management

  ClearCase給每一位開發者提供了一致性、靈活性和工作空間域(有時也稱爲"Sandboxes")可重用的功能。ClearCase採用一種稱爲View的創新技術,它可以選擇所指定任務的每一個文件或目錄的適當版本,並呈現它們。View可以讓開發者在資源代碼共享和私有代碼獨立的不斷變更中達到平衡,從而使他們工作更有效。

Build Management

  ClearCase自動產生軟件系統構造文檔信息清單,而且可以完全、可靠的重建任何構造環境。ClearCase也可以通過共享二進制文件和併發執行多個建立腳本的方式支持有效的軟件構造。

Process Control

  ClearCase有一個靈活、強大的功能,可以明確項目設計的流程。自動的常規日誌可以監控軟件被誰修改、修改了什麼內容以及執行政策,如:可以通過對全體人員的不同授權來阻止某些修改的發生,無論任何時刻某一事件發生應立刻通知團隊成員,對開發的進程建立一個永久記錄並不斷維護它。

優勢 
    
  ClearCase幫助所有規模的開發組織進行更加有效的開發和維護、加強競爭力、增加收益、降低成本。獨特的ClearCase帶來的特殊利益:   增加團隊效率――通過對並行開發的支持來實現,包括圖形比較和歸併、標籤、版本目錄 結構。

  增加個人效率 ――通過自動的工作空間管理來實現,如:直接的版本訪問、消除了在拷貝文件上的時間的浪費。

  簡單的維護和提高對客戶的支持――通過快速準確的重建先前的版本來實現。

  快速準確的產品發佈 ――通過保證構造的準確性和對軟件的每一個元件進行版本控制來實現。

  減少錯誤發生 ――通過事件發生以後對每一個元件的變更進行追蹤來實現。

  硬件資源的優化 ――通過分佈式構造、減少文件拷貝、可用對象的共享等功能來實現。

  提高項目協調和編制 ――通過文件註釋和開發週期階段變更的自動關聯來實現。

  提高產品質量 ――通過靈活的進程控制,和圖形接口定製,使得軟件開發在實際中保持 一致。

  更加有效的團隊擴展――通過減少系統管理和維護的負擔來實現。

  支持分佈式結構使得團隊成長――通過Client/Server結構進行多點複製和及時的對象版本的更新來實現。

  使用配置管理工具而降低風險――由於它不干擾軟件程序員的工作,所以可以使用常用的工具和文件系統接口。

  增加了軟件的安全性和保護性 ――通過使用分佈式的存儲結構,所有的軟件資源會隨時更新、在硬盤或網絡出現錯誤時那些被ClearCase存儲的版本信息會立刻恢復。

  減少培訓和實現成本 ――ClearCase通過採用透明結構以及和標準開發工具進行集成來實現。

  強有力的開發和維護 ――通過和其它工具(如:缺陷追蹤)、系統、結構進行集成。

  支持不同種類的開發 ――通過兼容不同平臺的軟件配置管理系統,如:Windows NT、UNIX、和一些Client端的軟件,如:Windows 95、Windows NT、Windows 3.1和Windows for Workgroups。

連接UNIX 和Windows的橋樑 
  ClearCase全面支持軟件配置管理,給那些經常跨越複雜環境(如:UNIX、Windows系統)進行復雜項目開發的團隊帶來巨大的效益。當UNIX和Windows的軟件工程人員提出了平臺的特性後,ClearCase for UNIX和ClearCase for Windows有高度互用性。

  對於它所支持的平臺,ClearCase通過TCP/IP來連接客戶端和服務器。另外,ClearCase擁有的浮動License可以跨越UNIX和Windows NT平臺被共享。ClearCase for Windows NT對ClearCase UNIX VOBs的訪問與瀏覽可以通過一個NFS for Windows NT的產品來實現。


ClearCase的核心功能是版本控制,它是對在軟件開發進程中一個文件或一個目錄發展過程進行追蹤的手段。ClearCase對所有文件系統對象(包括文件、目錄和鏈接)增強了版本控制系統功能。可定版本的文件包括源代碼、可執行文件、位圖文件、需求文檔、設計說明、測試計劃、和一些ASCII和非ASCII文件。目錄的版本記錄了整個組織基礎資源的發展狀況,包括源文件的建立、重新命名、重新構造和刪除操作等。 這種版本控制系統提供了先進的版本分支和歸併功能用於支持並行開發。

控制任何文件的版本

  ClearCase可以對每一個軟件組件或元件的版本進行維護和控制。ClearCase也可以維護一個非文本文件、目錄和工具的版本。正如:它可以管理庫文件、編譯器、需求文檔、 測試包和數據庫而不僅僅是源代碼。
  ClearCase的元件類型可以管理版本內容。用戶可以定義自己的元件類型,也可以使用ClearCase中的預定義類型:文本文件、壓縮文本文件、文件、壓縮文件和二進制增量文件。

  ClearCase可以利用增量算法將文本文件存儲在一個特殊結構的文件容器中。ClearCase採用標準的壓縮技術和增量算法存儲一個壓縮文本文件。(這比以往的存儲形式節省了50%―70%的存儲空間。)

  這種元件類型文件和壓縮文件可以被用於控制任何操作系統文件──比如,可執行程序、程序資源庫、結構數據庫和結構文檔文件。二進制增量文件類型可以隨時被用於二進制文件格式。

在版本樹中組織元件發展的過程

  在ClearCase中,元件版本的組織體現在版本樹結構中。一個版本書的結構可以按目錄結構定製, 還可以包含多層分支和子分支。
  在一個典型的開發環境中,很多元件的版本樹結構最初僅包含一個分支,即, 元件的版本排列在同一條線型隊列中。隨着時間的發展,當用戶做一些錯誤修復、代碼的組織、一些實驗性修改或指定平臺的開發時,它們可以給一些相關元件定義子分支,從而脫離主幹進行開發。ClearCase可以支持多級的分支操作,還可以給版本或分支命名。

對目錄和子目錄進行版本控制

  ClearCase可以對目錄和子目錄進行版本控制,允許開發者對他們數據的組織發展過程進行追蹤。目錄版本對一些改變進行控制,如:建立一個新文件、修改文件名、 建立新的子目錄或在目錄間移動文件等。
  ClearCase也支持對目錄自動進行比較和歸併的操作。

存儲數據在一個可訪問的版本對象類中(VOBS)

  ClearCase把所有版本控制的數據存放在一個永久、安全的存儲區中,這個存儲區被稱爲版本對象類(Version Object Bases),項目團隊(或管理者)可以決定它們所需要的VOBs的數量,可以決定什麼樣的目錄或文件需要被維護。VOBs不僅是一個可連接的文件系統而且也是網上的資源──主機可以連接任何數量的VOBs.

  ClearCase VOBs的組成模式跟UNIX、Windows NT的文件系統和分佈式的數據庫系統非常類似。ClearCase採用Raima數據管理機制區維護VOB數據庫。當在ClearCase中連接和訪問時,VOB象一個標準的軟件作爲目錄樹的形式出現在客戶面前,包含標準的文件對象:目錄、文件、符號鏈接和硬鏈接。但事實上,文件系統已經有廣泛的版本控制組件:它包含目錄元素、目錄元素版本、文件元素、文件元素版本、VOB動態鏈接和VOB硬鏈接。開發者也可以查看和這些文件系統對象相關的數據。這些數據包括事件記錄,建立審覈以及用戶定義的項如:版本標籤和屬性。

使用常見的檢出/編輯/檢入範例

  ClearCase的命令可以控制元素的變化,確保存儲區有序的繁衍並使數據損壞的程度達到最小。ClearCase採用一種檢出/編輯後檢入的範例,類似於傳統的版本控制工具如:RCS和SCCS。ClearCase除了可以進行檢出、檢入以及非檢出操作外,它還可以通過命令設置另外的操作,如:刪除版本、建立/刪除分枝、可按時間順序排列或結構排列順序列出版本歷史、比較版本間的差異,並且可以歸併並行開發的版本。
  當開始對於一個指定的文件進行工作時,該文件具有隻讀屬性──這意味着它不能被編輯或刪除。而檢出操作可以對該文件的最近版本形成一個可編輯的拷貝。它無須將文件拷貝到另一區域工作。檢出的註釋可以被提供。當編輯完成後,該文件被檢入,於是在版本樹中形成一個新的版本並且將可編輯的拷貝刪除。爲了檢驗文件的變化,在檢入過程中可以填入註釋信息。文件一旦被檢入,即刻回覆到只讀狀態成爲共享數據,可被所有成員使用。

  ClearCase支持兩種檢出,保留以及非保留。保留檢出可以保證版本歷史形成的正確範圍,並且同時只允許一個人做保留檢出的操作。非保留檢出無須保證建立一個成功的版本,如果多個用戶同時對同一元素執行非保留檢出,也企圖進行檢入操作,那麼第一個檢入操作被允許,而其他用戶必須通過歸併操作合併它們的結果。

豐富的註釋信息和版本數據的報表

  ClearCase存儲了和文件系統對象相關又截然不同的信息類。這些信息實際上並不包含在對象中,它是一些額外數據。這些數據可以由ClearCase產生,也可以由用戶自己定義。在VOB數據庫中存儲了所有的數據。
  ClearCase產生的這種數據信息提供了可靠的、面向文件系統的版本註釋信息。比如:這些數據可以驗證在某一時刻,元素A建立了一個新的版本。用戶定義的數據可以用來表達額外的功能──比如:該文件的版本曾被用於構造應用系統的4.31版。


建立管理:

使用ClearCase,構造軟件的處理過程可以和傳統的方法兼容。對於ClearCase控制的數據可以使用自制腳本或本機的make程序,但ClearCase的向上兼容建立工具clearmake和omake爲構造提供了重要的特性:自動完成任務、保證重建的可靠性、存儲時間和支持並行的分佈式結構的建立。

支持UNIX和Windows型的makefile的建立

  ClearCase包括兩種獨立的建立程序,clearmake和omake。這兩種程序合併了ClearCase的主要建立特點,包括配置lookup,二進制文件共享,和配置記錄。Clearmake程序主要適用於使用UNIX型的makefile包含(gnumake)的用戶。Omake主要適用於那些需要和Windows上的建立程序(包括:Borland Make、Microsoft NAMAKE、Intersolv Configuration Builder、和OpusMake)兼容的用戶。

自動檢測所關聯的原文件,包括所關聯的頭文件

  clearmake和omake通過使用當前原文件(向一些被檢入、檢出文件)的配置,可以在視圖中靈活的建立整個或部分軟件系統。Clearmake和omake在makefile時無須描述所關聯的頭文件(或任何所關聯的原文件)。

  在ClearCase開發環境中,原始對象扮演着決定性的角色。源對象是由clearmake和omake 建立的文件對象或目錄對象。典型的源對象應該包括由文檔系統產生的對象模塊,可執行程序,庫文檔,規格文檔,內容表。源對象組件包括:作爲目標被建立的文件名;獨立的源對象ID;數據容器指針(存儲建立腳本所產生的數據的文件);配置記錄指針(信息清單);和參考計算(指示源對象當前出現的視圖號)。

自動的追蹤建立,產生永久性的資料清單

  在執行建立腳本期間,clearmake和omake在ClearCase的多版本文件系統下執行一個建立追蹤。這MVFS記錄了在連接的VOB中每一個被讀或執行的文件的版本;它也可以註釋哪些文件被建立(或被覆蓋)。在執行建立腳本之後,clearmake和omake將追蹤的數據寫入配置記錄中,存儲到VOB數據庫中。VOB數據庫指針將配置記錄分配到每一個建立過程的源對象中。

  配置記錄就是源對象信息清單,包含它的內容和建立時的有用信息:

  ■ 存儲在VOB中,在重建時使用的文件元素的版本――包含ClearCase控制下的源文件和工具(比如:編譯器)。

  ■ 在建立過程中使用的每一個私人視圖文件。

  ■ 在makefile過程中使用的非ClearCase文件。

  ■ 建立腳本的文本及所有的可擴展宏。

  ■ 操作系統版本和CPU類型。

  ■ 執行建立過程的用戶;執行建立腳本的主機;由clearmake設置的視圖和建立過程開始的日期和時間。

  ClearCase的配置文件可以讓源對象進行比較――不依靠對象數據,而依靠它們的建立配置信息。Diffcr(compare config rec)命令可以輸出不同配置文件間的差異,包括:

  ■ 源文件的差異,非源文件修改的時間戳。

  ■ 建立過程中執行腳本的差異,包含makefile中不同的宏值。

  ■ 那些不影響clearmake或omake建立的非必要差異,包括建立時間/日期,主機名,視圖名。

開發者間共享二進制代碼,時間和存儲空間的存儲

  基於makefile一個很重要的方面,避免不必要的建立過程。Clearmake和omake的建立策略是非常優秀的,專爲並行開發方案做的特殊設計。 Clearmake和omake可以通過配置文件檢測現場情況,檢測哪些源對象可以在多個視圖中被共享。這個工具還可以進行磁盤存儲和建立時間存儲。Clearmake和omake提供了三種可供選擇的建立方式:

  ■ 重用視圖中現存的目標――clearmake和omake使用一種技術,它比比較時間戳更熟練。配置信息可進行源版本對照,建立腳本對照,建立選項對照。

  ■ 執行傳送建立腳本――make、clearmake和omake以同樣的方式執行目標建立。但是clearmake和omake可以對建立過程進行追蹤,並將追蹤信息分配到每一個重建過程相關的文件中。文件和它的配置信息組成了源對象。

  ■ 從某一視圖中wink-in源對象――clearmake和omake可以瞭解到早先在其它視圖建立的同一目標的多種實例。在驗證後,正確的源版本,建立選項和建立腳本被用於建立其它的實例,clearmake和omake將對視圖執行一個wink-in操作。一個源對象現在可以被其它視圖所共享。

跨越不同機型進行並行分佈式建立

  Clearmake支持分佈式建立(使用其它主機上的執行腳本)和並行建立(執行一致的建立腳本)。比如:clearmake可以進行三方建立,所有的進程都在一個多處理器的計算機服務器上執行。在局域網中,它可以跨越所有工作站進行分佈建立。

  Clearmake也支持跨多種開發環境的建立。

自動的跨多種主機(UNIX)的平衡加載,分佈建立

  clearmake有一個尖端平衡加載技術,可以優化分佈式建立的執行。用戶指定功能等於分佈式建立服務器的主機,並且設置變量,包括:時間、機器裝載和控制每一臺機器建立的用戶id 。clearmake可以跨越這些主機自動平衡裝載進行分佈建立。


過程控制:

  ClearCase具有以下過程控制的優勢

  ClearCase提供了過程和策略控制機制以提高軟件質量,縮短產品投放市場時間,以及調控整個軟件開發過程。ClearCase所具有的監測和控制開發過程的工具無需指定預定義方法學、政策、以及過程。它本身的靈活性、強有力性,爲管理者實現現有策略的自動化和鞏固以及創建其它新的過程管理系統成爲可能。ClearCase中所包含的靈活機動的工具可以讓開發人員實現:

  ■ 監控開發過程;

  ■ 組織、交叉查詢開發中涉及到的所有數據,如:源代碼、記錄、設計初衷、技術手冊等;

  ■ 在個人和團隊之間實現自動化的通訊;

  ■ 自動處理冗長、有錯誤傾向的步驟。

  這些工具都是基於元數據操作的,所以過程管理所涉及到的數據結 構和程序都是獨立於元素變量內容的。總而言之,主要的過程管理特徵就是:以元數據抓取狀態信息,策略增強工具、?quot;通知"特性。

利用元數據抓取狀態信息

  ClearCase元數據(在VOB中與對象相關聯的數據)抓取特定對象的狀態信息。在過程控制中共有三種類型的ClearCase元數據可用:

  ■ 屬性。一個屬性是一對值: 名字=取值。開發者可對大多數對象賦予屬性。屬性可取多種類型的值,整型、字符串、日期等。取值被限制在特定的範圍內,或限定於特定的枚舉值。例如,Codequality屬性可有A、B、C、D或F五個值。其強有力的查詢工具允許用戶查找,如一個叫John的用戶在上個月創建的包含Codequality=A的所有版本文件。而增強機制則自動爲對象分配了屬性。

  ■ 超級鏈接。所謂超級鏈接是一個連接着兩個對象的邏輯"箭頭"。例如,一個超級鏈接可以連接設計文檔和資源代碼模塊。超級鏈接可追溯到所有的元素變量、特定的版本(需求追蹤也同樣需要)、或者對象中的某一部分。它可跨越VOB並重命名、移動一個對象或這個對象所在VOB。利用超級鏈接瀏覽器,用戶還可以顯示、創建、訪問、維護CLEARCASE超級鏈接的網絡。

  ■ 歷史事件。ClearCase自動記錄下來重要的狀態信息,當對象發生變更的時候,它會收集"誰、何時、爲什麼"、用戶註釋、以及其它的重要數據。系統也會保留創建、釋放項目時的類似信息。

定製的策略增強工具

  ClearCase的策略增強工具支持管理者建立並加強一個好的軟件開發策略。ClearCase的工具包括:

  ■ 事件預觸發。事件預觸發機制監視每一特定ClearCase操作(如:檢入 check-in)或操作類(如:改變VOB的任一命令)的使用。在操作執行之前,觸發開始,經歷以下特定步驟:程序、批處理文件、腳本、其它內置動作之一。同時,一個觸發還可要求在執行某個操作命令之前對它進行檢查,並據此判斷是繼蔥小⒒故僑∠僮鰲?/p>

  ■ 鎖。針對於一個對象,鎖禁止對象發生變更。鎖可被劃分的很細(例如,只鎖住指定的元素變量),也可以籠統而論(例如,鎖住整個VOB)。一個典型的應用就是:在軟件集成階段,鎖住所有主幹元素。而且,每個鎖可定義"鎖定例外表",允許特殊用戶修改對象。

  ■ 訪問控制。對所有元素採用類似UNIX的保護機制。這種保護機制控制讀、寫、以及基於傳統標準上的對象執行:單個用戶的、開發團隊的、或其它。同時,它還對文件系統之下的物理存儲施加保護,有效的制止那些試圖逃避ClearCase或破壞原始操作系統存儲的小動作。

  ■ 自動創建分支。當所有的變更動作是在分支上以同種模式進行時,最易於維護工作。而ClearCase恰恰增強了這一點,當元素檢出的時候,ClearCase會爲它自動創建分支,並指定一個名字。

“通知”特性能自動生成報表、交流信息

  ■ 事件後觸發。事件後觸發機制好象一個監視器,它在特定操作完成後運行。實際上,這一觸發會在某個命令執行後、或給某個對象賦予屬性後,把這些動作通知給用戶。爲了便於腳本和程序實施觸發動作,ClearCase自動設置了一些環境變量。以一個"檢入"的事件後觸發爲例,它會告之質量保證部門有一個用戶已修改過某一特定的文件,並且,還會包括在 "檢入"時那個用戶輸入的註釋。

  ■ 查詢功能。ClearCase中有一個 find(查詢)命令,使得開發者迅速的獲知當前項目的狀態。實際上,find(查詢)命令就是在一個或多個VOB數據庫上實施查詢操作。例如,查找不具有 Passed=QA屬性且屬於Release 2.0的所有版本文件。

  ■ 動態配置規格。配置規格的方法是根據標籤、屬性、超級鏈接、以及歷史事件選擇版本文件。和find(查詢)命令一樣,這些方法同樣具備查詢功能。如,配置規格可以選擇“具有Passed=QA屬性的最新版本,或者是由用戶drp創建的最新版本。


工作空間管理:


快速、有效的工作空間建立對於提高個人和團隊的效益是非常重要的。通過視圖(VIEW)的使用,ClearCase提供了一套獨立的工作空間管理設施,可以實現動態評估、選擇指定用戶版本和透明的訪問多種配置的功能。

版本間的透明訪問

  ClearCase提供了對版本進行透明訪問的功能。通過VOB機制(包含文件或目錄的多個版本),ClearCase可以讓開發者和應用者以一種標準文件目錄樹的形式訪問VOB。這個特性被成爲透明――ClearCase的版本控制系統因而變得可視化。

  透明是一個非常重要的特性,它允許ClearCase在使用系統軟件、商業應用和內部工具時進行平滑的工作。比如:象grep,more,ls,cc這種標準UNIX程序,在操作ClearCase版本控制數據時與操作一般的文件系統對象的方式一樣。

  通過ClearCase的多版本文件系統可以(MVFS)在虛擬文件系統上實現透明操作。MVFS可中斷標準的I/O調用,並且ClearCase的版本選擇結構可以細化到從一個元素到另一個元素版本的目標調用。

  對於Windows NT,ClearCase的MVFS一般缺省作爲"M:"驅動盤出現,活動視圖作爲"M:"盤的根目錄出現。正常情況下,ClearCase可以爲每一個活動視圖分配更多的虛擬盤(從"Z:"以後工作―)。把VOB設置成每一個虛擬盤的子目錄。這樣就可以讓開發者使用自己的工具透明的訪問被ClearCase控制的數據,甚至是UNIX VOBs和視圖。

通過規則視圖選擇並顯示版本

  ClearCase的視圖提供了強大的、獨立的工作空間管理(也稱作"環境管理"或"沙盒管理")。通過使用動態評估、用戶指定版本選擇規則,視圖可以讓開發者對任何元素的任何版本進行透明的、文件級的訪問。ClearCase的視圖具有靈活性、可調性、有效性並可隨時自動更新。

  通過開發者對ClearCase控制的數據和程序的版本進行選擇,視圖可以對完整的文件系統配置進行動態管理。它也可以訪問主機上的其它數據和程序。

  ClearCase支持規範的開發環境,它可以維護公有和私人兩種數據存儲類型。所有的ClearCase用戶可以共享或公開在VOB中存儲的數據,它們包括一些常規訪問的計劃信息。存儲在視圖中的私有數據一般包含屬於開發者個人的文件,如:通過標準工具被檢出的文件元素版本,在視圖中由ClearCase建立的原始對象,和由視圖用戶在VOB目錄中建立的文件和目錄。視圖在"虛擬工作空間"存儲了這兩種數據,開發者每天對其執行檢入、檢出、編輯原文件操作、建立軟件和修復系統等操作。

  在視圖中選擇的版本可以稱爲視圖配置。視圖配置是動態的並可以在任何時候被開發者修改。視圖配置在配置規格說明的一系列規章被定義。一般的,視圖的配置在通配符和助記符的術語表中被定義,而不是通過指定具體的版本名稱。 每個開發者都可以擁有多個視圖,並且可以在任何視圖中設置過程。此外,不同視圖可以看同一路徑名下的同一元素的不同版本。比如:一個視圖可以瀏覽某一元素最近的版本;另一視圖也可瀏覽該元素的某一版本,它可能曾經用於構造某一具體的發放版本;可能還有其它視圖瀏覽該元素用於修復錯誤的版本。

  此外,那些不受ClearCase版本控制的所有的文件和目錄(標準文件、本地的腳本和程序,等。),也都可以通過視圖進行瀏覽。從而使得ClearCase成爲開發者的好友,當他們使用視圖瀏覽數據文件、修改框架腳本、編譯程序時,通過使用擴展視圖的路徑名或擴展版本的路徑名,開發者可以提高透明度。擴展視圖路徑名可以覆蓋當前視圖並且可以訪問當前出現在其它視圖中的元素的版本擴展版本路徑名是一種獨立的視圖,它可以通過版本樹的位置或版本標籤定製一個特殊的版本,而不管該版本究竟出現在哪個視圖中。

從沒有安裝ClearCase的主機平臺進行視圖訪問

  在局域網中ClearCase所控制的數據對於未安裝ClearCase的機器也可使用。比如:一個ClearCaseUNIX主機可以通過一種特殊的視圖輸出VOB;而網上的其他主機可以通過NFS機制連接它。這樣它就讓開發者在未安裝ClearCase的主機平臺上使用自己的工具對視圖進行讀寫訪問,編譯並建立自己的應用。未安裝ClearCase的主機必須重新註冊或使用安裝ClearCase的UNIX主機上的X-Windows系統做檢入、檢出操作。


clearcase的組件:Rational,高質量自動化軟件的先鋒,向全世界範圍的組織提供軟件開發基礎結構的產品。Rational分散了Windows和UNIX開發團隊的解答形式並能使他們自動運行,提高質量和增加生產力。
  Rational的軟件開發基礎結構產品-ClearCase,ClearCaseMultisite,ClearCaseAttache,ClearGuide和ClearDDTS-爲軟件開發團隊提供必要支持。這些產品幫助團隊有效管理軟件配置,修改需求,開發進程,並測試複雜情況及實時壓力。
一、ClearCaseMultisite
  ClearCaseMultisite是ClearCase的系列產品選項之一,他支持地理-分佈的項目團隊的並行軟件開發和軟件重用。Multisite可以創建和更新被複制的ClearCase VOB,允許分散項目團隊使用熟悉的ClearCase命令進行訪問,開發和軟件的集成。
  Multisite這個產品擴展了ClearCase完整的軟件配置管理功能,爲開發者提供透明支持,爲管理提供靈活性和安全性,爲系統管理員提供熟悉的工具。ClearCaseMultisite的卓越特性和可靠性爲有效的分佈式開發作出承諾。另外,ClearCaseMultisite的對等體系結構爲任何規模的軟件團隊提供了可調性和靈活性。
爲分佈式平行開發複製VOB
  ClearCaseMultisite通過克隆有的VOB的內容,爲多個地點創建完整的VOB功能。multitool mkreplica命令可以爲指定地點創建新的VOB,並可以被複制無限次。複製VOB可以從從本地到每個現場並用於每天的開發。
  Multisite組件爲異地並行開發實現了ClearCase分支和合並模型的功能。在被複制的VOB中,每個站點都可以爲其中的每個元素建立分支,正如作爲維護團隊可以在未被複制的VOB中建立自己的"bug_fix"分支。
  VOB對象元素支持有序的並行開發,這使得項目集成更加容易,還可防止複製信息的變更衝突。不同站點可以讀取所有站點的所有分支的修改信息,但只能更改(寫入)主分支。另外,任何站點都可以作爲集成站點,使用ClearCase自動歸併工具可以在不同位置對更改進行歸併。
自動同步更新不同站點VOB的更改
  在不同站點的分支上進行修改操作會在複製VOB時暫時造成分歧。週期性的更新(同步)使得每個被複制的VOB在監控狀態下被更新。在保證精確的情況下,ClearCaseMultisite自動更新複製VOB中的原文件和meta-數據(事件歷史記錄,超級聯接,屬性,和訪問控制)。Multisite僅將變化量傳送到每個複製品中,消除了"全部-拷貝"複製模型帶來的無效性和高成本。
  需要時,項目領導和管理員可以計劃Multisite VOB的更新,從多種更新結構中選擇,包含Multisite建立和存儲轉發系統,標準文件傳送設備或磁帶。在更新期間開發工作在VOB中可以正常地繼續,而沒有必要"鎖定"或使VOB "脫機"。
支持連續開發模式
  ClearCase Multsite也支持分佈在多個站點的團隊進行連續開發模式。每一個分支上的指令允許某一站點爲另一個站點提供特殊開發控制以及細緻的更改共享軟件的控制。
ClearCase無縫集成
  ClearCase Multisite和ClearCase的緊密集成加快了合作速度並且簡化了管理。對於項目隊列成員,工作在被複制的VOB中就好象工作在自己的VOB中――無需改變現有的工具和工作規則。
  對被複制的VOB需要最小的可持續維護,併爲管理員提供詳細的同步報表。通過使用ClearCase的熟練語法, multitool的基於字符接口可提供訪問Multisite的指令,包括創建,更新,及複製、管理VOB等。
系統需求
  ClearCase Multisite作爲可選產品安裝在ClearCase主機上,需要6-11MB磁盤空間(受硬件操作平臺的影響)。每個用戶在訪問複製的VOB時需要一個ClearCase Multisite License和一個ClearCase License
二、ClearCase Attache
爲客戶端使用Windows的項目團隊帶來強大的ClearCase功能 
  ClearCaseAttache爲以Microsoft Windows 95, Windows NT, Windows 3.1或Windows for Workgroups 3.11作爲他們的桌面開發環境的軟件開發者提供了擴展ClearCase軟件的強大的功能。ClearCase Attache是Windows客戶端的軟件,它可以與在UNIX和Windows NT服務器上的ClearCase完好配合共同工作。
  ClearCase Attache可管理本地版本控制元素的工作空間,可以和ClearCase建立的視圖進行關聯;並且通過圖形/字符接口提供直接訪問ClearCase服務器命令。ClearCase Attache界面包含工具欄,下拉菜單,及滾動命令窗口。
  本地工作空間的圖形界面和ClearCase豐富的命令操作允許開發者在Windows客戶系統中執行所有的開發活動,並且可以通過先進的ClearCase工具系列對於基本團隊的開發提供更高的支持。
管理本地工作空間中版本控制數據的功能
  通過ClearCase Attache,開發管理者可以管理多個地點版本控制數據的工作空間。本地的工作空間提供適當的原始開發版本;對日常的開發任務進行私人存儲;隔離其他工作空間的活動等。本地的工作空間是私人的目錄樹,定位在Windows的客戶端或可訪問的文件服務器。
  任何工作空間都符合一個ClearCase視圖,寄存在ClearCase UNIX或Windows NT的主機上。通過配置文件――一套爲特殊任務選擇合適版本的用戶配置規則,視圖可"過濾" 存儲於VOB和ClearCase主機中軟件元素(文件,目錄,二進制等等)。開發者之後可以檢出版本進行編輯(或"get"他們用於本地建立或瀏覽),拷貝版本到工作空間作爲通常文件。當修改已經完成,文件通過視圖被檢入進VOB。
  ClearCase Attache通過ClearCase版本控制系統中的高級特性提供基於Windows的開發者:包括跟蹤所有的軟件開發對象,永久使用,安全數據儲藏所,及對並行開發的功能支持。ClearCase Attache也包括Microsoft Visual C++與 Visual Basic的集成,提供對大衆開發環境中版本控制的直接訪問。
提供訪問到cleartool命令
  除了普通工具條按鈕和下拉菜單,ClearCase Attache提供一個基於字符接口到每一個ClearCase命令(和cleartool命令設置中的形式是一致的)。這些命令爲Windows用戶的並行開發、版本歷史和報告提供了全面的支持。
  通過在UNIX或Windows NT主機上提供的ClearCase工具的直接訪問,ClearCase Attache也實現了ClearCase強大的,靈活的過程控制。所有ClearCase結構―觸發器,屬性,超級連接,權限,加鎖等等都可以在ClearCaseAttache中進行。允許管理員橫跨Windows,Windows NT,UNIX平臺定義增強功能。
與Microsoft Visual C++和Visual Basic進行集成
  ClearCase Attache包含與Microsoft Visual C++和Visual Basic的集成,允許從大衆的開發環境中提供對版本控制功能的直接訪問。該集成支持微軟Source Control Code(SCC)接口設置,一個在IDE工具和原代碼控制工具之間交流的API。ClearCase Attache函數被映射到SCC接口,從IDE中提供直接訪問,使用標準(微軟)SCC對話框。
  在Visual C++中,用戶可以訪問公共SCM操作,包括:增加新文件到源控制;檢出/入文件及裝載的ClearCaseAttache歷史和屬性的顯示。近似地,在Visual Basic IDE中的用戶可以增加Visual Basic項目到ClearCase Attache中;增加新文件;檢入/出;及裝載ClearCase Attache歷史和屬性的顯示。
可選的建立工具
  ClearCase Attache用戶建立軟件象以前一樣,使用同樣的工具及makefiles。可選的建立器通過ClearCase在Windows NT中的omake 、Borland Make、Intersolv Configuration Builder(Polymake)、Microsoft NMAKE提供一致的makefile功能。
通過ClearCase Multisite支持分佈的開發
  ClearCase Multisite組件提供對地理分佈的開發團隊使用ClearCase和ClearCase Attache的支持。ClearCase Multisite可以跨廣域網和本地站點複製並更新的ClearCase VOB。該組件允許ClearCase Attache用戶訪問,修改,複製在分佈項目上的軟件元素。
系統需求及License
  ClearCase Attache需要386/486 Pentium PC、Windows 95、Windows NT、Windows 3.1、Windows for Workgroups 3.11、8MB內存10MB以上硬盤。磁盤空間的需求取決於本地工作空間的數量和大小。ClearCase Attache也需要運行在UNIX workstation(DEC、HP、IBM、SGI、Sun)上的ClearCase R.2.1或更高的版本;運行在Windows NT個人電腦上的ClearCase R.2.0。在www.Rational.com可獲得更多當前的ClearCase Attache的系統需求。
  在實際中,站點上的每一個正式用戶都需要ClearCase Attache的License。每一個ClearCase Attache的站點至少需要一個ClearCase系統管理員的License(UNIX或Windows NT)。近似地,任何使用ClearCase Multisite 的ClearCase Attache站點最少需要一個ClearCase Multisite License(UNIX或Windows NT)。
三、ClearCase 其它組件
ClearGuide
  ClearGuide是Rational's新的軟件過程管理(SPM)產品,它組合了項目管理,工作流,和過程模塊的關鍵特性。ClearGuide超越了傳統的工程變更管理系統(包括:項目計劃,定義和過程執行和有關軟件生命週期的所有任務的管理)的能力。使用ClearGuide,軟件開發團隊可以從強大的時間線,可預見性的軟件項目和定義能力中收益。通過一個靈活的過程框架,重複並提高他們的軟件開發過程。他們也可以通過常規任務自動化提高軟件開發生命週期中的活動精確度和效率。ClearGuide需要ClearCase3.x版本。
ClearDDTS
  ClearDDTS是分佈式的變更管理系統,它可以幫助開發者和質量保證組織測量產品質量和管理變更需求。
  ClearDDTS廣泛的缺陷管理能力記錄並追蹤所有信息(關於缺陷報告,提供項目查詢,報告,圖表,爲缺陷提交提供分佈支持。ClearDDTS'強大的變更管理工具可以和ClearCase集成,並且存儲信息(關於被檢入或檢出的文件)在預檢的基礎上確保完整的追蹤。

ClearCase結構及設置

一、客戶/服務器結構

  ClearCase是運行在分佈式Client/Server結構中的"組件"產品,。 ClearCase函數和開發數據的程序可以被分配到整個本地網絡。這使得ClearCase的工作範圍――從工作站上被加到網絡中以便更多的開發者可共享,ClearCase的數據存儲和數據處理資源的能力大大提高。

  數據倉庫組成如下:

  永久性,共享數據存儲庫是一種VOB的集合。多種VOB也可以存放在同一主機中(要有充足的磁盤空間和處理資源的能力)。

  開發者使用單獨的(或共享的)工作區域稱爲視圖――任何人都有一個小的私人庫區域。視圖的存儲區域一般位於獨立的工作站或PC上。主控服務器可作爲爲共享視圖或爲那些將被重建或發佈應用程序建立視圖。

  增加靈活性,可以跨兩個或更多的主機,爲單獨的 VOB或視圖進行數據存儲。

  開發者使用ClearCase客戶端程序訪問這些數據(例如,clearmake建立工具),以及標準的操作系統工具及第三方應用程序。ClearCase服務器的程序可間接訪問在VOB和視圖中的數據。客戶端和服務器通過使用遠程調用過程(RPC)互相進行進程通訊。這使得開發者不必涉及數據存儲的物理定位而進行ClearCase網絡通訊;ClearCase服務器使數據完全有效。

二、圖形用戶界面

  ClearCase包含傳統的命令行界面和Motif及Windows點擊圖形用戶界面(GUIs)包括任務設置GUI組件。UNIX和Windows NT的ClearCase的GUIs提供下拉和彈出菜單,工具條,context-sensitive幫助顯示來簡化公共用戶級的命令。另外,界面包含文件瀏覽器,視圖,VOB,版本樹,超級聯接,可選擇的數據,及更多的可以簡化在ClearCase中的公共數據對象的查詢和選擇。

  GUI也提供直觀比較和歸併功能,用高亮度顏色來描述插入,刪除,修改。GUI可以通過擴展腳本語言被定製,使用戶能創建自己的按鈕,工具條,和多水平菜單。定製的組織政策和腳本能在GUI中被訪問,而且外部命令也能與GUI進行集成。

  另外,ClearCase具有圖形事件和屬性顯示的功能。事件顯示可提供相關ClearCase控制元素的歷史記錄信息,可以被定製成當前全部元素的歷史。關於當前元素或設置版本的屬性信息,使用製表鍵顯示命令信息,標籤,屬性,超級聯接,觸發器,安全性,加鎖。

三、ClearCase for Windows NT

  ClearCase for Windows NT包含附加的GUI功能可以增強NT 4.0用戶界面的功能。ClearCase擴展的context-sensitive菜單的使用提供給用戶快速訪問公共ClearCase操作和工具。

四、Windows資源管理器的集成

  ClearCase for Windows NT包含和Windows資源管理器的集成,使得公共的ClearCase操作對於用戶簡單有效。此集成允許用戶打開視圖,mount VOB,檢出/入元素,激活版本樹瀏覽器,檢查元素歷史和屬性,尋找檢出元素,比較新老版本,及激活ClearCase詳細應用,在線幫助也包括在內。

五、ClearCase Details工具

  ClearCase Details工具顯示與ClearCase相關連的文件和目錄的信息,比如檢出狀態,用戶視圖選擇的元素版本,及用戶選擇的版本的配置設置。ClearCase Details工具允許用戶去修改顯示的屬性,訪問到其他目錄,去調用更多的ClearCase命令和工具。

六、視圖描述工具

  ClearCase視圖描述工具打包了被開發團隊共享的ClearCase配置信息。視圖描述包含以下信息:

  選擇版本屬性到團隊工作的配置設置。
  識別團隊基線的檢查標籤列表。
  團隊計劃工作的VOB。
  團隊正在使用的系統管理的VOB。
  一隊並行工作的開發者可以在ClearCase視圖描述上奠定他們的視圖。在這種自動格式大部分工作需要設置和保持團隊共享的ClearCase配置。

  視圖描述瀏覽器允許項目管理者創建和修改ClearCase視圖描述。視圖創建程序提示用戶通過需求來創建視圖,並且也可以讓用戶基於存在的視圖描述中選擇視圖。

七、歸併管理器

  歸併管理器是管理歸併元素過程的圖形工具。他自動爲歸併、開始歸併,及跟蹤歸併收集信息。他同時可以結合使用ClearCase Diff歸併工具來比較版本並完成歸併操作。

八、與Visual C++和Visual Basic的集成

  在Windows NT中,ClearCase支持Microsoft公共源代碼控制(SCC)接口配置,支持在Visual C++,Visual Basic工具和源代碼控制工具之間關聯的-API。ClearCase函數被映射到SCC接口,提供從Visual C++和Visual Basic的IDE到ClearCase的直接訪問,使用標準(微軟)SCC對話框。

  在Visual C++中,用戶能訪問公共ClearCase操作,包括:增加新文件到源控制;檢出/入文件和激活ClearCase歷史和屬性的顯示。

  類似地,從Visaul Basic IDE中用戶可以開始視圖;mount VOBs;增加Visual Basic項目到ClearCase;增加新文件;檢入/出;激活ClearCase歷史和屬性的顯示。

九、系統管理員

  ClearCase包含一套工具,命令,和GUI應用以便建立、擴展及管理VOB,視圖,和跨越站點的策略。系統管理員能管理物理磁盤存儲,網絡間的系統轉換,確信VOB保密性,管理用戶的License,限制對軟件元素的訪問。狀況和錯誤記錄信息被送入記錄瀏覽器。必要的系統管理信息和命令在VOB屬性框架中,其他context-sensitive菜單,和在ClearVobAdmintool(UNIX)中被設置。管理員使用他們現有的備份工具備份ClearCase VOB。

十、視圖和VOB的儲存註冊

  在每天的工作中,一般地,ClearCase用戶會涉及配置VOB和視圖使用名稱("tags")。例如,項目團隊可以在mount爲"/vobs/gui"(UNIX)或"\vobs\gui"(Windows NT)的VOB中使用共享的"bug_fix"視圖來訪問項目。系統管理員通過ClearCase儲存註冊管理這些相應的視圖和VOB庫區域中完整的名稱和物理定位(路徑名稱)。儲存註冊是廣域網資源,定位在指定的服務器主機中,他映射一般使用的視圖和VOB名稱到屬性存儲區。系統管理員能定義多個網絡區,在客戶端使用不同?quot;完整"路徑名來訪問相同的儲存目錄。它可以登記結構以便支持(比如)不同主機空間的多個子網。



正常安裝ClearCase的前提爲:1. 不使用非Symantec的防火牆,2. 客戶端所在電腦必須在公司網域內。

安裝是否正常的判別方法:點擊Control Panel中的ClearCase圖標,檢查四個Services是否均爲正常運行。如果服務沒有啓動不是因爲錯誤方法安裝軟件所致,則很有可能是默認的連接License的密碼失效,需要到管理工具中的服務裏重新設置Atria Location Broker服務的連接密碼。

ClearCase的弱點:如果連接到License服務器的網絡出問題的話,則所有的ClearCase客戶端均無法操作。



下午得到了ClearCase Management的培訓:

管理員登陸的流程爲,在本機添加vob用戶,切換至此用戶並添加全局變量,隨後打開ClearCase客戶端即可。

管理員Import Project的方法爲,先create一個view,然後mount一個vob並映射到一個盤符中的目錄下,然後在cmd中輸入:clearfsimport -r [Source] [Destination VOB]

ClearCase的實踐

今天反覆試驗了ClearCase的所有命令,import、create view、check out、check in、create label、paste label、create branch with/without label、merge。並對管理過程做了個總結:管理員先import項目,讓同事create snapshot view,然後同事就可以通過check out和check in工作了。如果要讓同事工作的branch上,通常做法是管理員先create label,然後paste label,隨後通過label來create branch,編輯好相應的config spec之後,將config spec mail給同事,這樣當其check out文件時,該文件就create了一個需要的branch。當branch上的工作完成之後,管理員要將branch上的文件merge回main版本上。

工作在branch上的方法:(假設branch名爲test)

element * CHECKEDOUT

element * /main/test/LATEST

element * /main/LATEST -mkbranch test

element * /main/LATEST

Checkout後即可工作在test的branch下了。

工作在某個tag上創建的branch的方法:(假設branch名爲test,tag爲TEST)

element * CHECKEDOUT

element * /main/test/LATEST

element * TEST -mkbranch test

element * /main/LATEST


ClearCase的核心功能是版本控制,它可以對軟件開發過程中的一個目錄或一個文件的發展過程進行追蹤。採用的是元素級的版本管理機制,系統中的各種文件和目錄都可以視爲元素,所以CC可以對文件系統的所有對象進行版本控制,其中文件主要包括源代碼、可執行文件、位圖文件、word文檔和一些二進制文件。目錄版本記錄整個目錄的發展狀況,包括目錄內文件的建立、刪除等操作。

ClearCase所有的版本控制信息都存儲在一個永久安全被稱爲版本對象類的存儲區中(Version Object Bases),就是通常說的VOBClearCase的管理者或者項目的管理者可以決定什麼文件需要被放在VOB內被維護。VOB的組成模式和文件系統非常類似。CC採用Raima數據管理機制來維護Vob數據庫。對文本文件來講採用增量式存儲的方式,對其他非文本文件採用壓縮技術存儲,節省空間。

ClearCase是基於CS模式的,安裝過程分爲客戶端和服務器端,一般服務器端的安裝我們不需要,公司CC管理人員會提前設置好,客戶端的安裝也比較簡單。關鍵就是常用的幾個功能:

新建Vob,在命令行鍵入cmd->cleartool->mkvob –tag<vobname>輸入vob的名字。

新建視圖(create view):視圖分爲兩種,動態和靜態的,一般大型項目都採用靜態視圖,在自己本地的客戶端機器上保留一份拷貝,當進行check out時,在本機硬盤上建立一個文件備份,修改完成後check in,另外需要每天update snapshot view來獲得最新的vob信息。通過動態視圖訪問vob時候,vob必須是準備好的,在建動態視圖的時候會提示mount一個vob,建靜態視圖的時候,vob必須已經被夾在到靜態視圖裏。

將文件匯入vob,把文件拷貝進入本地共享視圖文件夾中,右鍵選擇add to source control,可以選擇keep check out或者不選。

Check outcheck in。一般check out後,如果不進行修改可以選擇undo checkout,否則會提示出錯,如果修改錯了,想再改回來,可以進行版本比對,查看源代碼,然後把之前版本源代碼拷貝到新版本後再選擇check in,或者直接delete 掉這個版本。

對於vob中的每一個元素,都可以通過右鍵選擇version treehistory來查看版本信息和歷史check out信息。

Merge Manager功能,一般用不到的,如果確認自己開發分支上的代碼、文檔沒有問題了,可以merge到上一個分支。










發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章