付録B TortoiseMergeの自動化

目次

TortoiseMergeのコマンドラインスイッチ

TortoiseMerge は、コマンドラインパラメーターを指定すると、ファイルを選択する開くダイアログを表示せずに起動できます。TortoiseMerge を他のアプリケーションから使用する際に便利です。

TortoiseMergeのコマンドラインスイッチ

ほとんどのスイッチには、パスやその他の文字列などの追加情報が必要です。この場合、スイッチの後に「:」に続けて文字列やパスを指定してください。例えば、次のように指定します。

/base:"c:\folder\my base file.txt"

表B.1 有効なコマンドラインオプションの一覧

コマンド説明
/?主要なコマンドラインスイッチをダイアログで表示します。
/help? と同様です。
/base3方向差分で使用する base ファイルを指定します。画面には表示されませんが、これが共通の祖先になります。2方向差分ならば左ファイルになります。
/basenamebase ファイルの名前です。ファイルパスの代わりに、画面のタイトルに表示されます。3方向差分では、画面のタイトル部のツールチップに表示されます。
/basereflectedname使用する editorconfig テンプレートの名前です。
/theirs3方向差分で使用される theirs ファイルを指定します。左画面に表示されます。
/theirsnametheirs ファイルの名前です。ファイルパスの代わりに、画面のタイトルに表示されます。
/theirsreflectedname使用する editorconfig テンプレートの名前です。
/mine3方向差分で使用される mine ファイルを指定します。右画面に表示されます。2方向差分では右ファイルになります。
/minenamemine ファイルの名前です。ファイルパスの代わりに、画面のタイトルに表示されます。
/minereflectedname使用する editorconfig テンプレートの名前です。
/merged

マージ済みファイルの出力先を指定します。これはマージしたりや競合を解決したりした後のファイルが保存されるファイルパスです。

3方向差分でこれが指定されなかった場合、TortoiseMergeは結果をどこに保存するかをユーザーに尋ねます。

2方向差分でこれが指定されなかった場合、TortoiseMergeは自動的に右ビューに指定されたファイルを保存先として使用します。

/mergednamemerged ファイルの名前です。ファイルパスの代わりに、画面のタイトルに表示されます。
/mergedreflectedname使用する editorconfig テンプレートの名前です。
/patchpath適用するパッチファイルのパスです。このパスを設定しない場合、 TortoiseMerge はパッチファイルのあるパスと一致するパスから探そうとしますが、これには 非常に長い時間 がかかります。
/saverequiredこれを指定すると、 TortoiseMerge はファイルを編集しているかどうかにかかわらず、ファイルの上書き時に確認を行います。
/saverequiredonconflictsこれを指定すると、 TortoiseMerge はファイルを編集しているかどうかにかかわらず、衝突が見つかった際にはファイルの上書き時に確認を行います。
/patchoriginalパッチを当てるオリジナルファイルの名前です。画面のタイトルに使われます。
/patchpatchedパッチを当てたファイルの名前です。画面のタイトルに使われます。
/diffディレクトリに適用するパッチ・差分ファイルへのパスです。
/onewayユーザーの設定に関わらず、 TortoiseMerge を強制的に1画面表示で起動します。
/reversedpatch差分を取るために指定した2ファイルの左右の画面を入れ替えます。
/createunifieddiff/origfile:"<変更前ファイルへのパス>"/modifiedfile:"<変更後ファイルへのパス>" で指定したファイルから、 Unified 差分ファイル(パッチファイル)を作成します。ターゲットパスは /outfile:"<結果のパッチファイルへのパス>" で指定します。 /outfile を指定しない場合、パッチファイルを保存する場所を指定するためにファイルの保存ダイアログが表示されます。 /createunifieddiff を指定した場合、それ以外のパラメーターはすべて無視されることに注意してください。
/lineファイルを読み込んだ後にジャンプする行番号を指定します。
/readonlyファイルが編集されるのを防止します。つまり、 TortoiseMerge の編集機能が無効になります。


他の差分プログラムとの互換のため、コマンドラインにはファイル名だけを渡すこともできるようになっています。略式のコマンドラインは、

TortoiseMerge <baseファイルパス> <mineファイルパス> [ <theirsファイルパス> ]

という書式です。2つのファイルを与えると、互いに比較します。3つのファイルを与えると、最初のファイルをベースファイルとして、他の2つと比較する3方向差分になります。