控制任何文件的版本
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的操作(如:檢出、檢入、和版本歸并)可以建立時間記錄,記錄數據包含這些操作信息。這些記錄被存儲在VOB數據庫中,主要描述了該操作的屬性\"誰做的、做什么、什么時候、在哪個地方及為什么\",比如:敲入命令的人員的ID號,操作的種類,操作的時間,主機名稱及用戶填入的描述?梢酝ㄟ^\"lshistory\"的命令顯示存儲在VOB中的事件記錄,并且可以通過歷史信息瀏覽器提供的圖形接口觀察VOB中的事件記錄。
用戶可以針對多種目的定義數據,包含分支的名稱、版本標簽、元素任一版本的注釋信息!learCase數據的另一種應用是形成注釋的文本文件。注釋命令可以通過行顯示的形式列出任何一個版本文本文件的內容,這使得我們可以更容易的看到什么時候在不同的地方做了添加或刪除的操作。
ClearCase也可以針對文件系統對象建立客戶報表。而報表的種類可以由用戶自己定制輸出格式。
通過分支功能支持并行開發
ClearCase支持并行(同時)開發,每一個元素都可以沿著不同的分枝同時發展,即新的版本加到獨立的分支上。ClearCase可以很容易的產生分支,也可以很容易的將不同分支進行合并。這樣一來,即便某一部分的工作被凍結或加鎖,開發者仍然可以繼續自己的工作(如:在軟件集成期)。在這種情況,開發者可以在分支上工作,我們知道, ClearCase的自動化操作和圖形歸并工具可以讓我們很容易的重新集成新的工作。
并行開發是非常重要的,因為:
。1)它允許不同的項目在同一時間使用同一資源樹。
。2)它將目前不可和其他人員共享的修改成果進行隔離。
。3)它將絕對不可和其他人員共享的修改成果進行隔離(如:已發布版本中的錯誤修復)。
。4)它使得在軟件測試軟件集成期間開發工作無需停止,程序員可以先在分枝上開發,以后再集成。
為了支持并行開發,ClearCase允許進行分支建立,追蹤分支的使用,文件比較,自動歸并功能。
自動的比較和版本間的歸并
并行開發的特點是對同一元素的不同版本進行定期比較,也需要對版本間內容進行歸并。在ClearCase中,對于元素或文本文件進行比較和歸并的操作有兩種:基于字符型和圖形界面型。其中,diff命令執行多文件比較,不執行歸并。而歸并命令可以處理32個\"成員\",并把它們生成一個獨立的文件。 ClearCase可以自動辨認歸并選項并實現歸并。ClearCase也可以對需要歸并的項目元素進行定位。如果所有的\"成員\"(歸并元素)是同一元素的版本,系統會自動確定基礎\"成員\",通常是最低版本。此外,ClearCase會記錄基礎版本和某一歸并元素版本間的差異。如果,所有的\"成員\"間差異互不相同,ClearCase會自動建立歸并版本。如果兩個或多個歸并\"成員\"文件內容部分不同,歸并功能會提示開發者選擇歸并內容。ClearCase也可以實現反向歸并――從主分支向子分支歸并。
ClearCase的加歸并功能可以在歸并其它分支時選擇指定的版本(那些在分支上自始至終進行變化的版本)。負歸并操作可以刪除部分版本差異,從而形成一個新的版本,該版本除了那些被刪除的變更外包含所有的改變。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/