CARMA 具有將 Rational® Developer
工作區(例如,本端專案或遠端專案)中的(相關聯)資源與 CARMA RAM 中的資源進行比較的能力。這對於在將變更移入 CARMA 之前,先判定對工作區檔案所做的變更來說,非常有用。
關於這項作業
當 CARMA 將資源下載至工作區時,它會儲存現行準則值。基於準則值及工作區變更,CARMA 可以判定已對 RAM 中的版本做了哪些變更,並指出變更應該移動的方向。例如,CARMA 可以判定工作區檔案是在本端更新的,還是在 RAM 中更新的,或者在兩者中都進行了更新。根據變更資訊,CARMA 可以指出檔案的哪些部分已變更,並指出變更應該上傳至 RAM 中的哪些位置、從 RAM 中的哪些位置複製變更,或是否因工作區和 RAM 中都發生了變更而需要合併。
為了以靈活方式執行比較,CARMA 提供了「比較準則配置」檔 – syncConfig.xml。
此 syncConfig 檔位於 RSE 配置目錄*,並在 RSE 啟動時由 CARMA 自動挑選**。
比較配置檔容許 RAM 開發人員對 RAM 與 RAM 基準的比較指定各種準則。下面是比較配置檔的一個範例:
<?xml version="1.0" encoding="UTF-8"?>
<CARMACompare xmlns="http://www.ibm.com/CARMA/SyncConfig">
<RAMCompare ramId="00">
<memberinfo key="Last Modified Date" type="date" format="MM/DD/YY"/>
<memberinfo key="Last Modified Time" type="date" format="HH:MM"/>
<memberinfo key="Last Modified Seconds" type="int" />
</RAMCompare>
<RAMCompare ramId="01">
<content />
</RAMCompare>
</CARMACompare>
XML 文件必須以
CARMACompare 元素開頭。
CARMACompare 元素可以包含一個以上的
RAMCompare 元素。每一個
RAMCompare 元素都對單一 RAM 指定比較準則。套用準則的目標 RAM 由
ramId 屬性表示。
ramId 值應該與 CARMA VSAM 配置中的 RAM ID 相符,且為 2 位數數字。如果 ID 少於 2 位,則需要將 0 新增至 ID 值的開頭。上述範例對 2 個 RAM(01 和 02)定義了比較準則。每一個
RAMCompare 元素都包含針對 RAM 的準則。目前,可用於檢查的準則包括:
成員資訊
該配置可對每一個
RAMCompare 定義一個以上的
memberinfo 元素。
成員資訊元素連接在一起,以形成比較。
成員資訊元素包含
key、
type 及選用的
format 屬性。目前,已忽略
type 及
format 屬性,但仍包括了用法說明。目前,會直接比較這些索引鍵,以檢視字串是否相等。
- key 屬性
- key 屬性參照在資源內容中找到的成員資訊項目。key 屬性應該與 RAM 針對該資源傳回的 key 相符。
- type 屬性
- type 屬性指定應該如何處理 key 值。可將 type 屬性設為下列其中一個值:
type 定義應該如何比較成員資訊。例如,使用下列準則
<memberinfo key="Last Modified Seconds" type="int" />
成員資訊值 0001 將等於 1。
- format 屬性
- 只有用於指定「日期」類型的元素才需要 format 屬性。format 屬性容許準則定義應該如何剖析並比較日期值。例如,使用下列準則:
<memberinfo key="Last Modified Time" type="date" format="HH:MM"/>
成員資訊值 "1:10 PM" 將等於 13:10。
成員內容
該配置可以對每個
RAMCompare 定義一個內容元素。
內容元素會指出 CARMA 應該檢查資源的位元組內容,以取得變更。
註: 這需要將整個檔案下載至工作區,以執行比較。
會將檔案內容下載至工作區,並對檔案內容執行檔案雜湊 (MD5) 計算。如果檔案內容雜湊與工作區檔案雜湊不同,則該差異會被指出。
預設比較準則
如果未對 CARMA 所使用的 RAM 定義 RAMCompare 元素,則會使用預設比較準則設定。預設比較準則會首先檢查是否對正在比較的資源定義了 carma.version 成員資訊索引鍵。如果 carma.version 索引鍵可用,則使用單一索引鍵值作為比較準則。
如果 carma.version 索引鍵不可用,則會根據成員內容執行比較。
註: * 請參閱 Rational Developer for System z® Host Configuration Guide (SC23-7658-00),以取得 RSE 配置目錄的相關資訊。
註: ** 只有在 RSE 啟動時,才會挑選比較配置檔。為了能夠偵測到變更,請切斷 RSE 連線,然後重新連接。