マージ ツール


ClearCase マージ ツールを使用すると、2 つのファイルやディレクトリでグラフィカルに差分を解決し、結果を 1 つのファイルまたはディレクトリにそれぞれマージすることができます。マージに使用する各ファイルやディレクトリはコントリビュータと呼ばれます。コントリビュータは ClearCase の同じファイル エレメントまたはディレクトリ エレメントの異なるバージョンです。

マージ ツールはコントリビュータの 1 つをベース コントリビュータとして選択します。ベース コントリビュータとは、差分を報告する場合にほかのコントリビュータと比較するコントリビュータです。マージ ツールでは、マージ先バージョンのコントリビュータも指定し、マージされた出力の格納先にします。

マージ ツールの主要作業空間は以下の 5 つのペインで構成されます。

ナビゲーション ペイン

ナビゲーション ペインにはナビゲーション ツールバーがあり、複数のボタン セットがあります。

[差分間の移動] ボタン

これらの各コマンドを使用すると、現在の差分を移動先の差分に変更し、すべてのコントリビュータ ペインを同期させることができます。コントリビュータ ペインの現在の差分は、マージ結果ペインの現在のマージ ポイントに対応します。

ナビゲーション ボタンは以下のとおりです。

[最初の差分]
最初の差分を表示します。
[前の未解決差分]
現在の差分の直前の未解決の差分を表示します。直前の未解決の差分がない場合はメッセージが表示されます。
[前の差分]
現在の差分の直前の差分を表示します。直前の差分がない場合はメッセージが表示されます。
[現在の差分]
現在のマージ ポイントを設定した後の現在の差分を表示します。マージ ポイントが選択されていない場合は、メッセージが表示されます。
[次の差分]
現在の差分の直後の差分を表示します。次の差分がない場合はメッセージが表示されます。
[次の未解決差分]
現在の差分の直後にある未解決差分を表示します。次の未解決差分がない場合はメッセージが表示されます。
[最後の差分]
最後の差分を表示します。

コントリビュータ ボタンの選択

コントリビュータ ボタンを使用するとマージ ポイントを解決できます。ボタンには [1]、[2]、[3] というラベルがあり、コントリビュータ フレームの表示順に対応しています。コントリビュータ ボタンをクリックすると、対応するコントリビュータにある現在の差分のテキストがマージ結果ペインの現在のマージ ポイントに挿入されます。マージ ポイントを解決するために複数のコントリビュータを選択できます。コントリビュータ テキストは、コントリビュータを選択する順にマージ ポイントに挿入されます。

そのほかのボタン

これ以外にも次のようなボタンがあります。

[マージ ポイントのリセット]
現在のマージ ポイントのすべての選択を削除し、現在のマージ ポイントを未解決にします。
[保存]
マージ結果を保存し、マージを記録します。
[ウィンドウを閉じる]
ウィンドウを閉じてマージ ツールを終了します。マージ結果を保存していない場合は、マージ ツールに戻るように警告メッセージが表示されます。

マージ結果ペイン

マージ結果ペインには、コントリビュータ ペイン間の差分解決の結果が表示されます。結果はコントリビュータ ペインの上に表示され、番号は付いていません。マージ ポイント マーカーにより、差分の開始と終了が示されます。開始区切り文字は差分の直前の行にあり、プラス記号が 2 つ続きます。終了区切り文字も差分の直後の行にあり、マイナス記号が 2 つ続きます。

マージ ポイント マーカー

現在のマージ ポイント (未解決)
[マージ マネージャ] が現在選択しているマージ ポイントです。マージ結果の現在のマージ ポイントは、コントリビュータ ペインの現在の差分に対応します。
チェック マークは、マージ ポイントが解決済みであることを示します。
現在のマージ ポイント (解決済み)
[マージ マネージャ] が現在選択しているマージ ポイントです。マージ結果の現在のマージ ポイントは、コントリビュータ ペインの現在の差分に対応します。
チェック マークは、マージ ポイントが解決済みであることを示します。
非現在のマージ ポイント (未解決)
このマージ ポイントは現在のマージ ポイントではありません。
チェック マークは、マージ ポイントが解決済みであることを示します。
非現在のマージ ポイント (解決済み)
このマージ ポイントは現在のマージ ポイントではありません。
チェック マークは、マージ ポイントが解決済みであることを示します。

コントリビュータ ペイン

コントリビュータ ペインには、マージする任意のコントリビュータのファイルまたはディレクトリのコンテンツが表示されます。ペインは番号付きで左右に並べて表示されます。差分マーカーで差分領域を区切ります。

ベース コントリビュータ (タイトル バーのラベルは [ベース]) は左、マージ先バージョン (タイトル バーのラベルは [マージ先バージョン]) は右、[マージ元バージョン] は中央に表示されます。

ファイルをマージする場合、コントリビュータ ペインには比較対象となるファイルまたはバージョンのテキスト コンテンツが表示されます。ディレクトリをマージする場合は、コントリビュータ ペインにはディレクトリのコンテンツが、名前、作成日、ファイルまたはサブディレクトリの作成者と共に表示されます。

差分マーカー

マージ オプションでは、以下の差分マーカーを使用します。

[変更済み]
この差分には、ベース コントリビュータから変更された行が含まれます。
(マーカーが表示されない)
[デフォルト]
テキスト (ファイルの場合) またはファイルのセット (ディレクトリの場合) のこのセクションは、すべてのコントリビュータで同一です。
[削除済み]
この差分には、ベース コントリビュータで含まれている行がありません。
[移動の削除]
この場所から行が削除され、新しい場所に移動しました。
(ディレクトリの比較の場合のみ)
[異なるオブジェクト ID]
この差分には、ベース コントリビュータに同じ名前があるファイルまたはディレクトリ エレメントが少なくとも 1 つ含まれます。
[挿入済み] または [移動の挿入]
この差分には、ベース コントリビュータには表示されない行またはほかの場所からこの場所に移動した行が含まれます。
[パディング]
この差分では、ほかのコントリビュータに挿入がある部分に空白行を挿入し、テキストをほかのコントリビュータに整列させています。
[変更なし]
このコントリビュータには、この位置でベース コントリビュータとの差分がありません。

コントリビュータ間の差分解決

コントリビュータのマージの前半は、コントリビュータ間の差分解決です。

マージ マネージャでコントリビュータ間の差分を解決するには次の手順で操作します。

  1. 未解決の差分に移動します。[次の未解決差分] をクリックします。
  2. コントリビュータ ペインの差分を比較します。指定した解決を含むコントリビュータ ペインの番号に対応する [コントリビュータの選択] ボタンをクリックします。(ファイルまたはディレクトリを変更した場合は、マージ結果ペインに反映されます。)
  3. たとえば、現在の差分を解決するには、[2] をクリックするとマージ結果ペインの [<<マージが必要です>>] インジケータが、そのマージ ポイントに対応するコントリビュータ 2 のコンテンツで置換されます。

    2 つ以上のボタンをクリックして、複数のコントリビュータ ペインからの変更を結果ペインに入れることもできます。

  4. 次の未解決差分に移動します。
  5. 手順 2 と 3 を繰り返し、すべての差分を解決します。

マージするコントリビュータのすべての差分を解決したら、マージ結果を保存します。差分は任意の順番で解決できますが、保存する前にすべての差分を解決する必要があります。