テキスト ファイル(または、入力/貼り付けしたテキスト)の比較

Merge のテキスト比較では、テキスト ファイルまたは Merge に入力したテキストを比較することができます。ほかのアプリケーションから Merge にテキストをコピーして貼り付けるか、Microsoft Office、OpenDocument、PDF、および RTF ファイルからテキストを開いて比較することができます。Merge は XML および XHTML ファイルに特別なフォーマットを適用して(下記参照)、変更箇所をより解りやすく表示することもできます。

Information ファイル比較およびマージのインスタント図解をまだお読みでない場合、これに目を通すことによって、Merge のファイル比較について簡単に理解することができます。また、リボンを最大限に利用 トピックを見直されると役に立ちます。

比較の実行

デフォルトでは、Merge を起動すると空の新しいテキスト比較タブが自動的に開きます。別の新規テキスト比較を開くには、次の手順を実行します。

  • リボンの左端の項目のドロップダウン メニューにある 新規テキスト比較 項目を選択します。
  • テキスト比較が既に表示されている場合は、リボン内の 新規テキスト比較 ボタンをクリックします。
  • Ctrl+L キーを押します。

次のスクリーンショットは空の新規テキスト比較タブを示します。

新規テキスト比較タブ

比較ファイルが表示される 2 つの空の領域がウィンドウの大部分を占めています。各ファイル ペインにテキストを直接タイプするか、ほかのアプリケーションからコピーされたテキストを貼り付けることができます。また、各ファイル ペインの上には比較するファイルのパスを入力するフィールドがあります。

比較するファイルの指定

2 つのテキストファイルを比較するために、入力フィールドに 2 つのファイルのパスを入力するか、パス入力フィールドの右側にあるボタンを使ってファイルを選択することができます。

参照 ボタンをクリックするとファイルの参照ウィンドウが開き、履歴リストの表示 ボタンをクリックすると過去に比較したファイルのリストが表示されます。このファイル リスト内のエントリ行をダブルクリックすると、対応する各ファイルを読み込んで比較を行います。Ctrl キーを押したまま、ファイル リスト内のファイル エントリをダブルクリックした場合は、そのファイルのみが単独で読み込まれます。

比較する 2 つのファイルを選択したら、開始/再比較 リボン ボタンをクリックするか Enter キーを押します。

また、対象のファイルをファイル エクスプローラーからファイル名入力フィールドまたはファイル ペインまでドラッグ アンド ドロップすることもできます。

バージョン コントロール、または SCM システム内に保存されたファイル

また、Merge は、ローカル ディスクおよびネットワーク ボリューム上のファイルと同様、Perforce、Subversion およびローカルの Mercurial および Git リポジトリ内に保存されているファイルに直接アクセスし比較することもできます。詳細については、仮想ファイル システム(VFS)プラグインをご覧ください。

アーカイブ内に保存されたファイル

Merge にはさまざまなアーカイブ形式(.zip.tar など)に対応する組み込みサポートがあります。完全な一覧については、アーカイブ(.zip、.jar、.tar など)のコンテンツを走査するオプションに関する記述を参照してください。.udf.rar.7z アーカイブについても、サードパーティ製で無償の 7-Zip アプリケーションをインストールし、対応する Merge オプションを有効にすることで、サポートを向上させることができます。

通常、2 つ(または 3 つ)のアーカイブに対してフォルダー比較を行い、その結果からファイル比較を開始するのが一般的です。ただし、ファイル比較タブの上部にあるファイル入力フィールドに、アーカイブ ファイルのパスを直接入力することもできます。たとえば、\\NAS\home\Hg.tar というアーカイブがあり、そのアーカイブ内に格納されているファイル SomeFolder\example.cpp に直接アクセスするには、\\NAS\home\Hg.tar\SomeFolder\example.cpp というパスを入力します。

バージョン ボタンでファイルのその他のリビジョンにアクセスする

入力フィールドで示される名前のファイルに他のバージョンがあり、それらが比較に利用可能な場合、バージョン ボタンはこれらの他のバージョンのリストを表示します。左右両方の比較ペインで同じファイルを開き、このボタンを使用して、そのファイルの古いリビジョンと比較することができます。

オプション…アプリケーションSCM システムからのファイル バージョンを表示するオプションをオンにすると、Merge は、比較中のファイルの別バージョンを、関連する構成管理システム リポジトリから検出しようとします。Perforce、Subversion、Mercurial または Git の URI がファイル名入力フィールドに指定されている場合、Merge はファイルが読み込まれるリポジトリで他のバージョンのファイルを検索します。そうではなく、ファイルがローカル ディスクまたはネットワーク ボリュームから読み込まれ、それがクライアント ワークスペースの一部である場合は、Merge は資格情報オプション ページで資格情報が提供されている関連リポジトリを検索します。

オプション…アプリケーションシステムの復元からのファイルとフォルダー バージョンを表示するオプションをオンにすると、Merge は Windows システムの保護によって格納されたファイルから、比較中のファイルのあらゆるバージョンを表示します。詳細については、Windows システムの保護によって格納されたバージョンへのアクセスを参照してください。

バージョン ボタンが有効でない場合は、アプリケーションおよび資格情報オプション ページで関連するオプションを確認してください。

3 者間ファイル比較

2 者間ファイル比較に加え、Merge Professional Edition では 3 ファイルの比較(および、テキスト ファイルの場合はマージも)が行えます。詳細については、3 者間ファイル比較およびマージを参照してください。Professional Edition はテキスト ファイルの自動マージもサポートしています。

Microsoft Office、OpenOffice.org、PDF、RTF および HTML ファイルのテキスト コンテンツの比較

Merge には、よくあるタイプのファイルを読み込むときに、それらファイルから自動的にテキスト コンテンツを抽出できる多くのフィルターが付属しています。これはたとえば、Merge テキスト比較ウィンドウに一対の Microsoft Word ドキュメントをドラッグ アンド ドロップすると、テキスト比較はそれらのドキュメントからテキストを自動抽出し比較することができることを意味します。

Merge は以下のアプリケーションのファイルからテキストを抽出するフィルターを含んでいます。

  • Microsoft Word 97 以降(.doc および .docx
  • Microsoft Excel 97 以降(.xls および .xlsx
  • Microsoft PowerPoint 97 以降(.ppt
  • LibreOffice、OpenOffice.org および NeoOffice の OpenDocument テキスト、スプレッドシート、プレゼンテーション ファイル(Writer、Calc および Impress ドキュメント)(.odt.ods.odp
  • 暗号化されていない Adobe PDF ファイル(.pdf
  • リッチ テキスト ファイル(.rtf
  • HTML ファイル(.html.htm

Information Merge は、スプレッドシート ファイルに保存されている文字列のみを抽出することが可能であることに注意してください。スプレッドシートのセルで計算を実行することはできません。

これらのフィルターはすべてオプションです。それらのすべてがデフォルトで使用可能であるわけではありません。HTML および RTF ファイルは変換を行わないで比較することができます。Merge で、どのフィルターを使用するか、さまざまなファイル タイプについてどの種の比較を開始するかについては、ファイル タイプ オプション ページで構成を設定することができます。

テキスト ドキュメントを比較するとき、Merge が長い行のテキストを単語境界で折り返すことは非常に役に立ちます。この動作は、表示オプション ページで選択することができます。

Merge は上記のファイル形式からテキストを抽出できますが、書式は抽出できないことに留意してください。そのため、Merge では書式の相違を示すことができません。これらのファイル形式のためのテキスト フィルターは一方向です。テキストはこれらのタイプのファイルから抽出できますが、それらのファイルに書き込むことはできません。また、フィルターにはほかにもさまざまな制限があることに留意してください。たとえば、Microsoft Word ファイルから行頭文字と段落番号は抽出しません。またパスワードで保護されたドキュメントはサポートされません。ドキュメントによっては、それらのネイティブ アプリケーションでファイルを開いて、ファイルからテキスト比較ペインへテキストをコピーして貼り付ける方がよい場合もあります。これは行頭文字や段落番号のような詳細を保持するために有効でしょう。

最後に、これらのフィルターを使用すると、異なる種類のドキュメントを比較できるということに気付いてください。たとえば、クライアントからあなたが以前に閲覧した Microsoft Word ドキュメントから作成された契約書の最終バージョンの PDF を送ってきました。PDF と Word ドキュメントのテキスト コンテンツが同じ内容であることを確認するために Merge を使用できます。

XML と XHTML ファイルの比較

XML/XHTML リボン メニューは XML と XHTML テキスト(非 XHTML HTML は除く)を整形するためのコマンドを含んでいます。XML/XHTML を整形すると、画面上のファイルの外観とレイアウト、そしてファイルの比較方法に影響を与え、より簡単にファイルを比較できるようになります。しかし、ファイルの内容は変更しません。たとえば、空白の追加や削除、内容の並べ替えは行いません。これはつまり、難解なフォーマットの XML ファイルでも、本来の原文比較の正確さを犠牲にしないで、変更を明確に見ることができるということです。整形されたファイルは通常と同様に、編集、マージ、および保存が行えます。

ファイル タイプ オプション ページで、XML および XHTML ファイルを新しいテキスト比較で開くときに、自動的に整形するかどうかを設定できます。

Warning XML/XHTML リボン メニュー コマンド(あるいは前述の自動整形)は正しい XML/XHTML ファイルのみに使用してください。非 XML テキスト(たとえば有効でない XHTML の HTML)にこれらのコマンドを使用するとエラーメッセージが表示され、結果は不確定になります。

整形された XML と XHTML ファイルの比較を行うとき、オプション 行終端文字を表示 リボン メニュー項目をチェックすると役に立ちます。これはオリジナルのテキスト ファイルに存在する改行を確認するのに役立ちます。

数値データを含むファイルの比較

Merge ではテキスト ファイル間で対応する数値を比較することができます。また、必要に応じて、互いの数値の差が一定の許容範囲内である場合にそれらを同一として処理することもできます。これを使用する可能性がある一例は、コンピューター数値制御(CNC)マシン ツールによる数値制御(NC)コード ファイルの出力の比較です。つまり、たとえば、数値比較の絶対許容値として 0.002 を定義した場合、34.01334.015 は同一と見なされますが、34.01234.015 では相違があると見なされます。比率(相対)許容差もサポートされます。

Merge が数値の許容を考慮するのは、ファイル タイプ オプション ページでテキスト 数値データとして定義されるタイプのファイルを比較する場合のみです。Merge を新規インストールした場合、デフォルトでは .ptp 拡張子のファイルをこのタイプのファイルとして扱います(既存の Merge をアップグレードした場合、.ptp ファイル タイプは自動的には追加されないので注意してください)。

対象ファイルの絶対/比率数値比較における許容値は、テキスト比較オプション ページで指定されます。

Intel Hex ファイルの比較

Merge では Intel Hex ファイル向けの特殊な操作を提供します。この操作を有効にするには、ファイル タイプ オプション ページで、ファイルのタイプがテキスト Intel Hexとして定義されている必要があります。Merge を新規インストールした場合、デフォルトでは .hex 拡張子のファイルをこのタイプのファイルとして扱います(既存の Merge をアップグレードした場合、.hex ファイル タイプは自動的には追加されないので注意してください)。

Intel Hex ファイルの場合、レコード行(コロンで始まり、その後の 8 桁は 16進数の制御データ)の比較は、制御データのみが対象で、コンテンツ データは無視されます。変更されたブロックが複数のレコード行で構成される場合は、それを行ごとの変更として扱い、対になる行が具体的に示されます。その後、制御データの後に続くコンテンツ データが行単位で比較され、変更箇所があれば行内で強調表示されます。

圧縮されたテキスト ファイルの比較

Merge では gzip または bzip2 ユーティリティで圧縮されたテキスト ファイルを比較できます。デフォルトで、拡張子が .gz または .bz2 のファイルは、 テキスト比較に読み込まれるときに、自動的に圧縮解除(展開)されます。認識される拡張子は、ファイル タイプ オプション ページで変更できます。

Merge では、圧縮されたテキスト ファイルも保存できます。詳細については、圧縮されたファイルの保存を参照してください。

ファイル比較の表示

Merge のインストール ディレクトリには、2 つのサンプル テキスト ファイル(test1.txt および test2.txt)が用意されています。下図は、これら 2 つのサンプル ファイルの比較結果の画面です。

test1.txt と test2.txt の比較結果

2 つのファイル間の変更箇所が色とリンク線を使って強調表示されています。ファイル比較ウィンドウの中央ペインに表示されているリンク線は、両ファイルの変更箇所をつなぐことによってファイルがどのように関連しているかを示しています。ファイル比較ウィンドウで使用されている色とフォントは、フォントと色オプション ページのコントロールを使用して変更できます。

Merge のメイン ウィンドウ下部のステータス バーに、比較している両ファイルの削除、挿入および変更箇所の数が表示されます。編集カーソルが置かれている位置の行番号と列番号も表示されています。

縦方向のパディング

Merge for Windows では、オプションで縦方向のパディングを追加することができます。これにより、左側のファイルと右側のファイル内の、変更されたテキストと未変更のテキストの関連するすべてのブロックが縦方向に整列された状態が保たれます。これは特に、一致した行のペアに基づいて、変更されたテキストのブロックをインテリジェントに分割するオプションと併せて利用する場合に役立ちます。ただし、パディングを使用すると、概して、画面に表示できるテキストが少なくなるという短所があります。

縦方向のパディングは、リボンのオプション 縦方向のパディングを追加して変更部分を整列メニュー項目を使って切り替えることができます。

Information このオプションは、変更されたテキストと未変更のテキストの関連するブロックが整列されるようにするだけです。それらのブロック内の連続する個々のを整列させたい場合は、リボンのオプション テキストの折り返し項目がどちらもオンになっていないようにする必要もあります。テキストの折り返しが有効になっていると、変更されたテキストおよび未変更のテキストのブロック内の個々の行は、通常、整列されないままになります。

下図は、先と同じファイル比較を示していますが、縦方向のパディングを追加して、変更箇所を整列させている点が異なります。

縦方向のパディングによって変更箇所が整列された、test1.txt と test2.txt の比較結果

行の詳細パネル

比較したファイルの対応する行が長い場合など、それらの行を上下に表示すると便利な場合があります。

メインの比較パネルの下に行の詳細パネルを開くには、リボンのオプション 行の詳細パネルを表示メニュー項目を選択します。これは、フォーカスされた比較ペインの現在選択されている行と、別のペインの関連する行(ある場合)を一緒に上下に表示します(3 者間比較では、各比較ペインから 1 行ずつ、3 行が上下に表示されます)。詳細パネルの左余白にある赤い矢印は、最後にフォーカスされた比較ペインに属している行であることを示します。

行の詳細パネルに表示されるテキストは直接編集することができます。

レイアウトの制御

リボンの2 者間比較(上下) ボタンまたは2 者間比較(左右) ボタン(または F11 キーおよび F12 キー)を使用すると、ファイル比較ウィンドウの内のファイルのレイアウトを変更して、比較ファイルが上下または左右(デフォルト)に表示されるようにすることができます。

Merge には、ファイルの比較および表示方法をカスタマイズするためのオプションが数多く用意されています。また、最良の結果を出すために Merge のカスタマイズを行うためのヘルプ トピックも用意されているので活用してください。

移動

一方のファイルでスクロール バーを使ってファイルをスクロールするともう一方のファイルもスクロールされるので、比較する両方のファイルは常に中央で揃えて表示されます。中央のポイント マーカー(リンク線パネルの中央にあるインデントされた線)は、整列している両ファイルで Merge が関連付けようとしているポイントを示します。Ctrl キーを押しながらスクロールすれば、ファイルを揃えて表示する機能を一時的に解除することができます。Ctrl キーを離せば、ファイルは元のように揃えて表示されます。

スクロール バーの下部の小さなボタン前の変更箇所 および 次の変更箇所 ボタンを使用して、前の変更や次の変更に移動することができます。

概要ストリップ 左右のペインの垂直スクロールバー内に薄型の概要ストリップがあります。これらのストリップは、比較しているファイル内の変更の位置を示すマークを含んでいます。ストリップ上のマークをクリックすれば、変更箇所へ迅速にアクセスすることができます。(Shift キーを押しながら、スクロール バーのつまみの上または下のスクロール領域をクリックすると、比較の表示はページ単位で上下にスクロールします。)

ファイル内をクリックしてキーボード フォーカスを移してから、カーソル キーを使って移動することができます。また、下記のショートカット キーを使用することもできます。

  • Ctrl+Page Up(または F7)で、編集カーソルが前の変更箇所へ移動します。
  • Ctrl+Page Down(または F8)で、編集カーソルが次の変更箇所へ移動します。
  • Ctrl+ および Ctrl+ で、編集カーソルが語単位で左右に移動します。
  • Ctrl+Home および Ctrl+End で、編集カーソルがファイルの先頭または最後に移動します。
  • Ctrl+G では、指定の行番号へ移動するためのウィンドウが表示されます。

すべてのキーボードのショートカット キーの一覧は、ファイル比較のキーボード ショートカットを参照してください。

マウスによる移動

Merge はホイール付きマウスをサポートしています。3 ボタンのマウスを使用している場合、ファイル ペインを中央ボタンでクリックすると移動モードになります。マウスを移動した方向にファイルがスクロールします。移動を停止するには、もう 1 度マウスの中央ボタンをクリックします。ホイール付きマウスを使用している場合、選択しているファイル内での上下スクロールに使用することができます。[フォワード]/[バックワード]ボタンがあるマウスまたはキーボードの場合は、これらのボタンを使って前の変更箇所や次の変更箇所へ移動することができます。

Unicode/MBCS 文字エンコードとコード ページ

Merge は Unicode または MBCS 文字エンコード ファイルを ASCII ファイルと同じように比較することができます。MBCS ファイルの場合、Merge はユーザーのデフォルトのコード ページ以外のコード ページで保存したファイルであっても比較することができます。詳細については、文字エンコードの処理を参照してください。

テキストの検索

Ctrl+F キーを押すか、リボン内の検索ボタンをクリックして、アクティブ ファイル内のテキストを検索することができます。

複数のファイル比較ウィンドウの切り替え

Merge では同時に複数のファイル比較ウィンドウを開くことができます。アプリケーション ウィンドウの上部にあるタブ ストリップを使用すると、マウスのシングル クリックでファイル比較ウィンドウを切り替えることができます。

ブックマークおよびコメント

ファイルの比較や編集を行っている際にブックマークを設定しておいて、後でその場所に戻ることができます。Ctrl+F2 キーを押すか、リボンのブックマークの切り替え をクリックすると、現在行のブックマークのオン/オフを切り替えることができます。ブックマーク間を移動するには、F2 または Shift+F2 キーを押すか、リボンの次のブックマーク ボタンまたは前のブックマーク ボタンを使用します。

ブックマークにコメントを追加することができ、重要な情報の注釈を付けたり、質問を記録することができます。ブックマークのコメントを編集するには、ブックマークを右クリックしてコメントの編集を選択します。ブックマーク コメントは、マウス ポインターをブックマーク上に置くとツール ヒントとして表示されます。

Information ブックマークおよびコメントは、HTML 比較レポートを作成する際や、アーカイブまたはチームでの合同作業のために比較を保存する際に一緒に含められます。このため、比較の中に質問を入力したり注釈を付けておき、それを後で電子メールで送信してほかのチーム メンバーが校閲できるようにする有用なツールとなります。

ファイルの編集

上に述べた比較機能に加え、Merge では比較中のファイルを編集およびマージすることができます。詳細については、ファイルの編集を参照してください。

構文の強調表示

Merge では、さまざまなプログラム言語の構文の色分けを行うことができます。

言語 ファイル拡張子
C/C++/Obj-C .c, .cc, .cpp, .cxx, .h, .hh, .hpp, .hxx, .sma, .m, .mm
C# .cs
D .d
Windows リソース .rc, .rc2, .dlg
IDL .idl, .odl
Flash .as, .asc, .jsfl
Java .java
JavaScript .js
VB .vb, .bas, .frm, .cls, .ctl, .pag, .dsr, .dob
VBScript .vbs, .dsm
Pascal/Delphi .dpr, .dpk, .pas, .dfm, .inc, .pp
HTML/XML/PHP/VXML .html, .htm, .asp, .shtml, .htd, .php3, .phtml, .php, .htt, .cfm, .tpl, .dtd, .hta, .vxml, .xml, .xsl, .xslt, .svg, .xul, .xsd, .dtd, .axl, .xrc, .rdf, .vcproj, .wxs, .wxi, .docbook
CSS .css
Caml/OCaml/F#/SML .caml, .ml, .mli, .fs, .fsi
Erlang .erl, .hrl
Fortran .f90, .f95, .f2k, .f, .for
Lisp .lsp, .lisp, .scm, .smd, .ss
Perl .pl, .pm, .cgi, .pod
Python .py, .pyw, SConstruct, SConscript
Ruby .rb, .rbw
Scala .sbt, .sc, .scala
Smalltalk .st, .pac
Visual DataFlex (Smalltalk パーサーを使用) .src, .pkg
SQL .sql, .spec, .body, .sps, .spb, .sf, .sp
Markdown .md

構文の強調表示は、構文の強調表示オプション ページのコントロールを使用して有効にすることができます(また、表示色も構成できます)。各言語のファイル拡張子およびキーワードは、Merge インストール ディレクトリにある highlight.styles ファイルを編集して変更することができます。

ユニファイド diff

ユニファイド diff リボン ボタンを使用すると、2 者間テキスト比較のファイル間の変更点の説明をテキスト形式で簡単に作成し表示することができます。これは、変更箇所とその前後 3 行を UNIX(LF)改行コードで区切ったユニファイド形式の diff を生成します。この diff(差分)は専用のタブに表示されます。必要に応じて、リボンにある 保存 ボタンを使用して保存するか、別の場所へコピー&ペーストすることができます。

ユニファイド形式の diff は、パッチ用のテキスト ファイルの比較時にパッチ ファイルとして使用することができます。

別の方法でユニファイド形式の diff ファイルを作成する方法や、ユニファイド形式以外の種類のレポートの作成方法については、ファイル比較レポートの作成を参照してください。