コマンドライン リファレンス

Merge には、Merge をさまざまなアプリケーションから起動できるようにするコマンドライン ツールがいくつか用意されています。アプリケーション固有の手順については、ソース管理、構成管理、およびその他のアプリケーションとの統合をご覧ください。また、オートメーション API によって、Merge の制御性をさらに高めることができます。

Compare および ConsoleCompare コマンドライン ユーティリティ

コマンドラインから Merge を使う場合には、Compare.exe または ConsoleCompare.exe コマンドライン ユーティリティの使用をお勧めします。これらのプログラムは Merge オートメーション API を使って、Merge の新規または既存のインスタンスでファイル比較およびフォルダー比較を起動します。

Compare と ConsoleCompare の違い

Compare.exe はグラフィカルな Windows アプリケーションであり、通常、他のグラフィカルな Windows アプリケーションから Merge を起動するために使用されます。ConsoleCompare.exe はコンソール アプリケーションであり、通常、コンソール ベースのコマンドライン ツールから Merge を起動するために使用されます。

Windows ターミナルも Windows コマンド プロンプトも、Compare.exe などのグラフィカルな Windows アプリケーションが完了するのを待たずに、ユーザーに制御を返します。このため、Windows ターミナルで Compare.exe/wait コマンドライン引数を使用しても(下記の使用方法を参照)、コマンドが起動されると、Compare.exe がまだ実行中で Merge が終了するのを待っていたとしても、直ちに制御がプロンプトに返されます。この動作では望ましくないこともあるため、Merge には ConsoleCompare.exe と呼ばれる、Compare.exe のコンソール バージョンが付属しています。Windows ターミナルは、ConsoleCompare.exe コマンドが終了するまで制御を返しません。

使用方法

{Compare | ConsoleCompare} [/? | /h]
    [/wait | /noWait] [/aN] [/swap] [/max]
    [/titleN:"<NthFileOrFolderTitle>" …] [/2 | /3]
    {fileArguments | folderArguments}

ファイル比較の fileArguments は次のとおりです。

    [/readOnly] [/closeIfNoChanges]
    [/merge [/testConflicts]] [/lineN:<lineNumber> …]
    <firstFile> [<secondFile>] [<thirdFile>] [<mergedOutputFile>]

フォルダー比較の folderArguments は次のとおりです。

    <firstFolder> [<secondFolder>] [<thirdFolder>]

全般的な引数

ファイル比較の引数

2 者間比較(/2)の場合は、<firstFile><secondFile>(存在する場合)のファイルが比較されます。ファイル引数が 1 つだけ指定されている場合は、1 つの比較ペインのみが設定された状態で比較が開きます。

3 者間比較(/3)の場合は、<firstFile><secondFile><thirdFile> のファイルが比較されます。3 者間比較を実行するには、Merge の Professional Edition が必要です。

オプションのファイル引数 <mergedOutputFile> は、2 者間と 3 者間のファイル比較のどちらでも指定できます。この追加引数を指定すると、ファイル比較のいずれかのファイルに変更を保存する場合の既定の保存ファイル名が設定されます。たとえば、リボンの保存 ボタンを使用してファイルを保存すると、<mergedOutputFile> に書き込まれます。詳細については、ファイルの保存を参照してください。

3 つのファイルをマージする場合、左右のファイルに対する変更を中央のファイルへ統合する方法が最も簡単な方法です。このため、共通の親ファイルまたはベース ファイル(ある場合)は中央のペインに表示されている必要があります。<secondFile> が共通の親となるようにファイル引数を適切に並べることができない場合は、コマンドライン オプション /aN を使用して共通の親ファイルを指定することができます。3 者間ファイル比較とマージの詳細については、3 者間ファイル比較およびマージおよび自動ファイル マージを参照してください。

フォルダー比較の引数

2 者間比較(/2)の場合は、<firstFolder><secondFolder>(存在する場合)のフォルダーが比較されます。フォルダー引数が 1 つだけ指定されている場合は、1 つの比較ペインのみが設定された状態で比較が開きます。

3 者間比較(/3)の場合は、<firstFolder><secondFolder><thirdFolder> のフォルダーが比較されます。3 者間比較を実行するには、Merge の Professional Edition が必要です。

3 つのフォルダーをマージする場合、左右のフォルダーに対する変更を中央のフォルダーへ統合する方法が最も簡単な方法です。このため、共通の親フォルダーまたはベース フォルダー(ある場合)は中央のペインに表示されている必要があります。<secondFolder> が共通の親となるようにフォルダー引数を適切に並べることができない場合は、コマンドライン オプション /aN を使用して共通の親フォルダーを指定することができます。3 者間フォルダー比較とマージの詳細については、3 者間フォルダー比較および自動フォルダー マージを参照してください。

1.

Compare c:\temp\file1.txt c:\temp\file2.txt

指定した 2 つのファイルを比較するファイル比較ウィンドウが開きます。

2.

Compare /wait c:\temp\file1.txt c:\temp\file2.txt

指定した 2 つのファイルを比較するファイル比較ウィンドウが開きます。ユーザーがファイル比較ウィンドウを閉じるまで、比較は終了しません。

3.

Compare /wait c:\temp\file1.txt c:\temp\file2.txt c:\temp\merged.txt

指定した最初の 2 つのファイルを比較するファイル比較ウィンドウが開きます。2 つのうちいずれかのファイルへ変更を保存しようとした場合、c:\temp\merged.txt が既定の保存ファイル名となります。ユーザーがファイル比較ウィンドウを閉じるまで、比較は終了しません。

4.

Compare /wait /a1 /3 c:\temp\file1.txt c:\temp\file2.txt c:\temp\file3.txt

指定した 3 つのファイルを比較するファイル比較ウィンドウが開きます。ユーザーがファイル比較ウィンドウを閉じるまで、比較は終了しません。指定した最初のファイルはほかの 2 ファイルの共通の親ファイルであると判断されるので、中央のファイル ペインに表示されます。

5.

Compare /wait /a3 /3 /title1:"Djn's Revision" /title2:"Jrs's Revision" /title3:"Common Ancestor" c:\temp\file1.txt c:\temp\file2.txt c:\temp\file3.txt c:\temp\merged.txt

指定した最初の 3 つのファイルを比較するファイル比較ウィンドウが開きます。3 つのうちいずれかのファイルへ変更を保存しようとした場合、c:\temp\merged.txt が既定の保存ファイル名となります。ユーザーがファイル比較ウィンドウを閉じるまで、比較は終了しません。指定されている 3 番目のファイルは他の 2 ファイルの共通の親ファイルであると判断されるので、中央のファイル ペインに表示されます。各ファイル ペインにはわかりやすいタイトルが付けられます。

Merge コマンドライン

比較ごとに Merge の新しいインスタンスを開始する必要が特にない限り、Merge のメインの実行可能ファイルである Merge.exe を使用してファイル比較およびフォルダー比較を開くことはお勧めしません。前述のとおり、代わりに ConsoleCompare.exe または Compare.exe を使用してください。

使用方法

Merge [</Automation>] [</Embedding>] [</Options>] [</SetEditFieldsOnly>]
    [<file1 [file2] [file3]> | <folder1 [folder2] [folder3]>]

コマンドラインの引数は下記のとおりです。

/Automation または /Embedding を使用すると、実行したプロセスの作業ディレクトリを継承しないで、ユーザーの Documents(ドキュメント)ディレクトリが作業ディレクトリに設定されます。Documents(ドキュメント)ディレクトリが見つからない場合は、ユーザーのホーム ディレクトリが使用されます。

1.

Merge test1.txt test2.txt test3.txt

Merge が起動し、指定された 3 ファイルのファイル比較ウィンドウが開きます。

2.

Merge c:\temp\first-folder c:\temp\second-folder

Merge が起動し、指定された 2 フォルダーのフォルダー比較ウィンドウが開きます。