ファイル比較レポートの作成

Merge には、ファイル比較からレポートを生成するいくつかの方法があります。レポートは、ファイル比較の静的表現であり、アーカイブ保管や、同僚との共有、ウェブサイトへの配置に適した形式です。

レポートの作成

ファイル比較のレポートを作成するには、レポート リボン ボタンをクリックします。ファイル比較レポート ウィンドウが表示されます。

作成できるレポートの種類の一覧が、ウィンドウの左側の列に表示されます。レポートの種類をクリックすると、そのレポートの種類に対応する設定オプションのページが表示されます。現在選択できるレポートの種類については、ヘルプ ボタンをクリックしてください。

選択したレポートの種類に応じたオプションを設定または確認し、レポートを書き出す場所を選択したら、保存… ボタンをクリックしてレポートを作成します。

レポートの種類

HTML

HTML レポートには、比較されたファイルに関する情報と、並べて提示された比較結果が含まれています。それらはさまざまなウェブ ブラウザーで開くことができ、同僚に電子メールで送信したり、保存したりすることができます。画面上のファイル比較の外観に影響を与えるほとんどのオプションが、レポートの生成時にも使用されます。

HTML スライドショー

このレポートは、ファイル ベースの Merge ファイル比較出力を作成します。このレポートのオプションは、出力の外観をカスタマイズするときに使用するオプションと似ています。Merge は、出力する各ページについて、一連の HTML ファイルとスライドを生成します。画面上でのファイル比較の表示を制御するさまざまなオプションは、スライドショー レポートの作成時にも使用されます。

スライド サイズ

これら 2 つのコントロールを使用して、ページごとに生成されるスライド イメージの幅と高さ(ピクセル単位)を設定することができます。

変更箇所のあるページのみを含む

このオプションをオンにすると、Merge は比較しているドキュメントの変更箇所(挿入、削除、変更されている行)があるページのみを印刷/プレビュー対象とします。このオプションは通常、比較ファイル/フォルダーのレポート/印刷に必要なページ数を減らすために使用します。

行番号を表示する

このオプションをオンにすると、各ファイル パネルの左側に行番号が表示されます。

テキストの拡大縮小

このフィールド値によって、レポート作成/印刷するテキストに適用するサイズを調整します。

UNIX diff

このタイプのレポートは、一般によく使用される UNIX diff プログラムによって作成されたレポートに似ています。編集スクリプト レポート(デフォルトの diff 出力形式)、コンテキスト diff レポート(diff の -c オプション)、およびユニファイド diff レポート(diff の -u オプション)の作成が行えます。

Merge による diff スタイル レポートの出力は、実際の diff プログラムで生成されるレポートとは同一ではないことに注意してください。Merge と diff では異なるアルゴリズムを使ってファイル間の変更を判断します。多くの変更については同じように判断しますが、若干異なることがあります。

編集スクリプト形式を使う

ファイル比較のための編集スクリプト形式レポートを作成するには、このオプションを選択します。スクリプトには、第 1 ファイルを第 2 ファイルに変換するために行う必要がある手順が含まれています。

コンテキスト形式を使う

この形式では、レポートで変更、挿入または削除された行の各ブロックの周りに数行のコンテキストが付けられます。

ユニファイド形式を使う

この形式はコンテキスト レポートをさらにコンパクトにしたものです。

n 行のコンテキストを付ける

このフィールドの値は、コンテキスト形式とユニファイド形式のレポートに使用されます。

コンテキスト/ユニファイド形式のレポートは、変更されていない行が多くあるレポートで、変更、挿入および削除された行の各ブロックを囲みます。このフィールドの内容は変更されていない行がどれくらい含まれるかによって決まります。

比較されたファイルの変更箇所をわかりやすくするために、変更されていない行は視覚的なコンテキストを提供します。パッチ プログラムのいくつかは、レポートが作成されてからファイルが修正されても、その作成したレポートのコンテキスト情報を使用して 1 つのファイルをほかのファイルに変換することができます。通常、このようなプログラムが確実に機能するには、少なくとも 3 行のコンテキストを必要とします。

XML

XML レポートには、比較されたファイルに関する情報と、比較結果を並べて提示するためのデータが含まれています。画面上のファイル比較の外観に影響を与えるほとんどのオプションが、レポートの生成時にも使用されます。

このレポート タイプには構成可能なオプションはありません。XML 比較レポートを構成する要素については、以下で説明します。

XML ファイル比較レポートについて

XML 比較レポートは、ほかのアプリケーションからもさらに加工できるので便利です。以下の情報は、主に XML レポートを処理するようなソフトウェアを作成しようとしている方を対象としています。HTML 比較レポートは、同等の XML レポートで XSLT 変換を実行することによって作成されます。したがって、この 2 種類のレポートは非常に密接に関連しています。

ルート要素

XML ファイル比較レポートは、トップレベルの mg:report 要素に含まれます。

mg:report は、mg:metaDatamg:rowData の 2 つの子要素を含みます。

メタデータ

mg:metaData には、レポートが実行されたときに比較していたファイルや有効だった Merge オプションなどの、レポートに関する情報が含まれています。レポートの内容がその生成時の Merge オプションによって影響を受けることを理解することは重要です。mg:metaData の要素は次のとおりです。

要素 説明
mg:title レポートのタイトル。
mg:id レポートの ID。1 回でいくつかのレポートが作成されるとき(たとえば、ファイル比較レポートへのリンクを持ったフォルダー比較レポート)、レポートの番号として使用されます。
mg:date レポートが作成された日付。
mg:options レポートが作成されたときの主なオプションと正規表現。これらはほとんど説明を要しません。オプション名と値は、オートメーション API の概要 ドキュメント中の説明に対応しています。
mg:fileDetails この要素のインスタンスは比較されたファイルごとに存在し、ファイルの名前、タイトル(たとえば、compare コマンド ライン ユーティリティでタイトルが指定された場合)、パス、および最終更新日時を提供します。
mg:changeSummaries HTML レポートの '比較の概要' セクションで使用するための統計情報(Merge ファイル比較の[比較の統計情報]ウィンドウにも表示される)。
mg:classes この要素のインスタンスは比較されたファイルごとに存在し、それぞれ 4 つの mg:class 子要素を含んでいます。つまり、テキスト ブロックのタイプ(変更なし、削除箇所、挿入箇所、および変更箇所)ごとに 1 つの子要素を含み、そのタイプのテキストの表示フォントと色の情報を提供します。

行データ

mg:rowData にはファイル比較実行の実際の結果が含まれます。これは、多数の mg:rowGroup 要素から構成されており、各要素は、あるファイルから別のファイルの間で変更されたテキストの 1 つのブロックに対応しています。

それぞれの mg:rowGroup 要素中には 1 つ以上の mg:rows および(または)mg:omitted 要素があります。

mg:omitted が存在する場合、これは、[前後関係を示す X 行だけを表示する]オプションが有効になっているために、1 つ以上の行(2 つ 1 組、または 3 つ 1 組)が比較から省略されたという事実を単に記録します。

mg:row には mg:ln 要素のペア(2 者間比較)またはトリプレット(3 者間比較)が含まれています。そうして mg:row は、各ファイルの 1 行を別のファイルの 1 行に関連付ける、比較の 1 行を構成します。関連する行がない場合(これは、テキスト ブロックが挿入または削除された場合に生じます)は、mg:In 要素は当該のファイルにのみ存在します。したがって、レポート全体には、各オリジナル ファイル内のテキストの行ごとに正確に 1 つの mg:In 要素が存在します(ただし、行が省略されている場合を除きます)。

mg:In 要素は、それがどのファイルに属するかを示す file 属性を持っています(左から右へ 1、2、3 と番号付られます)。また、そのファイルの行のうち、要素が属している行番号を提供する number 属性もあります。最後に、行が全体として挿入箇所(‘I’)、削除箇所(‘R’)、変更箇所(‘C’)、あるいは変更なし(‘U’)であると見なされているかどうかを示す class 属性を持っています。

mg:ln 要素は mg:sg 子要素を含むことができます。各 mg:sg は、特定の強調色を使って一連の文字を表すことにより、行内の変更箇所を強調して知らせます。各セグメントは mg:In と類似した class 属性を持っており、そのセグメントが挿入箇所、削除箇所、変更箇所、あるいは変更なしのテキストを表しているかどうかを示します。Merge は長く連続したテキストを、それぞれ 10 文字を超えないように隣接したセグメントに分割します。これは、HTML 比較レポートを作成する XSLT が、一定の行の折り返しを考慮しやすいようにします。

ファイル比較では空白と行終端文字(CR と LF)が重要なので、これらはセグメント内で mg:smg:cr、および mg:lf 要素によって明示的にコード化されます。これは、これらの文字についての情報は XML 解析プロセスを切り抜けて残ることを保証します。

mg:rowGroup 要素とその mg:row および mg:ln 子要素は、比較したファイルの先頭から末尾に向かって行を表すように、XML レポート内で並べられます。