Sun WorkShop 入門

第 7 章 ファイルマージ

ファイルマージによって、2 つのテキストファイルを比較したり、2 つのファイルをマージ (併合) してファイルを新規に作成したり、あるファイルの 2 つの編集バージョンを元のファイルと比較して、新しい編集内容をすべて含むファイルを新規に作成することができます。

この章では、ファイルマージを起動する方法、ファイルを読み込んだ状態で起動する方法、出力ファイルを保存する方法について説明します。この章は、次の各節で構成されています。

ファイルマージの概要

ファイルマージは、2 つのテキストファイルをそれぞれ読み取り専用のテキスト区画内に読み込んで、並べて表示します。2 つのファイルの相違にはマークが付けられています。ここで、2 つのファイルをマージし、編集して、最終的なマージファイルを作成することができます。

マージする 2 つのファイルを読み込む際、その 2 つのファイルの元となった 3 番目のファイル (祖先ファイル) を指定して比較することもできます。この祖先ファイルを指定した場合、ファイルマージは、2 つの子孫ファイル内で祖先とは異なる行をマークし、3 つのファイルすべてをマージしたファイルを生成します。

図 7-1 ファイルを読み込んだ状態の「ファイルマージ」ウィンドウ

Graphic

マージしたファイルには、2 種類の行が含まれます。

ファイルマージの起動

WorkShop メインウィンドウからファイルマージを起動するには、「ツール」⇒「ファイルマージ」 を選択します。

ファイルの読み込み

ファイルをファイルマージに読み込むには、次の手順に従ってくだ さい。

  1. 「ファイル」⇒「開く」を選択します。

  2. 「ディレクトリ」テキストボックスで、作業用ディレクトリを選択します。

    これは、ファイルの選択および保存に使用されるデフォルトのディレクトリです。このテキストボックスの右横の「. . .」ボタンをクリックすると、ディレクトリを選択するためのダイアログボックスが表示されます。

  3. 「左のファイル」テキストボックスと「右のファイル」テキストボックスで、比較したい 2 つのファイルを選択します。

  4. ファイルを共通の祖先と比較する場合は、2 つのファイルの祖先ファイルを「祖先ファイル」テキストボックスに入力します。

    自動ファイルマージを使用するには、祖先ファイルが必要です。

  5. 出力ファイルの名前を指定したい場合は、「出力ファイル」テキストボックスに名前を入力します。

    filemerge.out という名前のファイルが、デフォルトで作業用ディレクトリに保存されます。

  6. 「開く」をクリックして、ファイルを読み込みます。

    図 7-1 に、ファイルを読み込んだ状態の「ファイルマージ」ウィンドウを示します。左側のファイル名、右側のファイル名、出力ファイル名は、それぞれのテキスト区画の上に表示されています。3 つのファイルの比較では、祖先ファイルの名前はウィンドウのヘッダーに表示されます。

ファイルマージ用オプションの設定

各種のファイルマージ用オプションを設定するには、「オプション」メニューを使用します。このメニュー項目からは、次の処理を実行することができます。

相違の処理

ファイルマージを使うと、ファイル間の相違を処理できます。ファイルマージは、マージする 2 つのファイル (または 2 つのうちのどちらかのファイルと祖先ファイル) の間で異なる行を検出すると、行の相違の種類に応じたグリフを使って、2 つのファイルの行にマークします。マークされた行をまとめて相違と呼びます。ファイル内のある相違から次の相違に移動すると、異なる行とそのグリフが強調表示されます。

現在の相違、次の相違、前の相違

強調表示されている相違を現在の相違と呼びます。直前の相違を「前の相違」、直後の相違を「次の相違」と呼びます。

解決された相違と残された相違

行に対する変更が受け入れられると、相違は解決されたことになります。残された相違とは、まだ解決されていない相違のことです。

「自動マージ」オプションがオンの場合は、ファイルマージは相違を自動的に解決します。

グリフの概要

グリフは、ファイル間の相違を理解する手がかりとなります。以下の 3 種類のグリフがあります。

グリフの種類 

意味 

プラス記号 (+) 

新規の行 

マイナス記号 (-) 

削除行 

縦棒 (|) 

行内に変更あり 

グリフなし 

行内に変更なし 

共通の祖先ファイルを指定する場合は、祖先内の対応する行と異なると、各ファイルの該当する行の隣に以下のようなグリフが表示されます。

相違が解決されると、グリフは白抜きのフォントに変わります。

相違間の移動

相違間を移動するには、2 つの区画の上にあるボタンか、「ナビゲート」メニューを使用します。相違を受け入れないで前の相違へ移動する場合は「前」ボタンを、次の相違へ移動するには「次」ボタンをクリックします。「ナビゲート」⇒「検索」を選択すると、特定のテキスト文字列に移動し、「ナビゲート」⇒「行の移動」を選択すると、特定の行番号に移動します。

「親」と「子」の区画で使用できるポップアップメニューを使って相違間を移動することもできます。どちらかの区画を右クリックすると、メニューが開きます。

相違の解決処理

相違を解決するには、左右の区画の一方で変更を受け入れます。

相違のオプションの設定

ファイルマージをカスタマイズしてファイル間の特定の相違を無視させるには、「オプション」⇒「相違オプション」を選択します。こうすると、ファイルマージが連続するスペース文字や行末のスペースを無視するように設定できます。

自動ファイルマージ

ファイルマージは、以下の規則に従って、相違を自動的に解決できます。

このような場合は、相違の解決方法をユーザーが決定しなければなりません。子孫の行を選択するか、マージ後にファイルを手動で編集するかを決めてください。

ファイルマージが相違を自動的に解決すると、グリフが白抜きのフォントに変わります。ファイルマージを使って、自動的に解決された相違が正しい選択をしているかどうかを確認することができます。

「オプション」⇒「自動マージ」を選択すると、自動ファイルマージ機能をオフにすることができます。自動ファイルマージ機能がオフのとき、出力ファイルには 3 ファイルすべてについて同じ行のみが追加されるため、相違はユーザー自身が解決する必要があります。

祖先ファイルを指定しない場合は、ファイルマージには、2 つの入力ファイル間の相違を比較する際の判定基準がありません。したがって、ファイルマージは、相違のどちらの行が必要な変更内容を表しているかを判断することができません。祖先を指定しないで自動ファイルマージを実行すると、自動ファイルマージをオフにした場合と同じ結果になります。すなわち、ファイルマージは、両方の入力ファイルで同じ行だけを使用してマージファイルを作成するため、相違はユーザー自身が解決する必要があります。

出力ファイルの保存

出力ファイルを保存するには、「保存」ボタンをクリックするか、「ファイル」⇒「保存」を選択します。出力ファイルの名前は、「出力ファイル」テキストボックスに指定した名前です。

保存する際に出力ファイルの名前を変更するには、「別名保存」を選択して呼び出されたウィンドウに、新しいファイル名とディレクトリ名を入力します。