Merge Professional Edition を使用すると、3 つのファイルを並べて比較およびマージすることができます。マージ機能は、テキスト比較およびフォルダ比較のみで有効です。
- 3 者間ファイル マージは、2 つの子ファイルを共通の親ファイルまたはベース バージョンへマージする場合によく使用されます。
- バージョン管理システムや構成管理システムに格納されている同じソース ファイルで複数のユーザが同時に作業を行う際にこのような状況が発生します。
- Merge はこのような構成管理システムに統合できます。詳細はこちら。
- 3 者間ファイル比較は 3 者間フォルダ比較から直接起動できるため、ソース コードのブランチ全体の効率的な統合が可能になります。
- Merge Professional は自動ファイル マージをサポートし、3 者間マージをスピードアップします。
2 者間ファイル比較と3 者間ファイル比較を切り替えるには、レイアウト ツールバー ボタンから 2 者間比較(左右に表示) または 3 者間比較(左右に表示) を選択します。また、ウインドウ▸2 者間ファイル比較(左右表示) と ウインドウ▸3 者間ファイル比較(左右表示)、または Ctrl+Cmd+2 と Ctrl+Cmd+3 キーを押して切り替えることもできます。
比較表示内でのファイルの順序
Merge では、比較する 3 ファイルの中で共通の親ファイルを中央に配置し、変更されている 2 ファイルをその両側に配置している場合に最も効率が高くなるように設計されています。この配置では、各リビジョンと親ファイル間の差異が最も分かりやすく表示されます。2 つの派生ファイルの 1 つが自分で作成したものではない場合、それを左のペインに置くことをお勧めします。
3 者間ファイル比較を使用する
3 者間ファイル比較では、2 者間比較で実行できる 比較、編集、マージ のすべての機能を使うことができます。
共通の親ファイルを中央のファイル ペインに置いて作業することで、2 つの子ファイルの変更内容をマージして最終的なマージ ファイルを作成することができます。この場合、すべての変更内容が必要かどうか、また他の変更箇所と整合が取れているかどうかを検証してから行うのが賢明な方法です。
移動
スクロールバーの このペイン内の前の変更 ボタンと このペイン内の次の変更 ボタン(およびそれに対応するキーボード ショートカット)は、特定のファイル ペイン内を移動しますが、ツールバーの 比較内の前の変更 ボタンと 比較内の次の変更 ボタンは比較全体を移動します。(対応するキーボードショートカットは、Ctrl+Option+↑ と Ctrl+Option+↓ です。)
2 者間比較の場合、特定のファイル内の変更を移動することと比較全体にわたって移動することの違いに、実用上の重要性はありません。ただし、3 者間比較では、それらの違いによって、移動動作が大きく異なってきます。
たとえば、左側のファイル ペインにあるスクロールバーの このペイン内の前の変更 ボタンと このペイン内の次の変更 ボタン(または、左側のファイルに入力フォーカスがあり同等のキーボード ショートカット)を使用したとします。これらは、左側のファイルと中央のファイル間のすべての変更箇所を移動します。しかし、中央のファイルと右側のファイル間にのみ存在する変更箇所には移動しません。中央のファイル ペインで変更箇所を移動すれば、比較全体の変更を見逃さないようにすることができます。
これとは対照的に、ツールバーの 比較内の前の変更 ボタンと 比較内の次の変更 ボタン(およびそれに対応するキーボード ショートカット)は、前の変更や次の変更に移動する前に、3 者間比較の中央ファイルへフォーカスを自動的に切り替えます。したがって、左側/中央ファイル間、または中央/右側ファイル間にかかわらず、比較全体のすべての変更箇所へ移動します。
ツールバーの 比較内の前の変更 ボタンと 比較内の次の変更 ボタンを使用した場合、ファイル比較付きフォルダ比較(ウインドウを分割して上部にフォルダ比較ビュー、下部にファイル比較ビューを表示)において各ファイルのすべての変更間をスムーズに移動することができます。詳細については、フォルダ比較トピックの移動セクションを参照してください。
重複変更
親ファイルの同じセクションに関連している 2 つの子ファイルの変更内容をマージする場合には、細心の注意を払う必要があります。これは重複変更(または不一致変更)と呼ばれ、Merge では 2 つの子ファイルの変更箇所から親ファイルの同じセクションへリンク線が引かれるので一目でわかります。また、Merge のインプレース編集機能は、このようなときにきめ細かな変更を行うのに非常に役立ちます。
また、自動マージのプレビューによって、不一致変更箇所を赤い不一致アイコン ですばやく強調表示させることができます。
非重複変更
重複しない変更の場合、通常はマウスを 1 回クリックするだけで親ファイルへのマージを実行できます。ただし、重複しない変更であっても、すべての変更内容がほかの子ファイルと整合性を有しているかどうかを検証しておくことが重要です。テキスト上での重複がないからといって、変更点の整合性が取れていると判断するのは安全ではありません。プログラムのソース コードの場合は特に注意が必要です。
自動マージ
Araxis Merge は、2 つの子ファイルから親ファイルへの自動マージをサポートしています。これは便利な機能ですが、自動マージの結果が正しくなるように注意を払う必要があります。