TortoiseSVNでWinMergeを使う設定方法|Diff・Mergeの登録と起動確認
この記事でわかること
TortoiseSVNの差分比較をWinMergeへ切り替えると、変更内容を見やすい画面で確認しながら編集や競合解消を進められます。
この記事では、WinMergeU.exeの確認からDiff ViewerとMerge Toolの登録、設定後の起動確認、動かない場合の切り分けまでを順番に説明します。
画面上でどこを設定するのかだけでなく、入力する文字列の意味や、設定後に何を確認すればよいのかも分かる構成です。
初めて外部比較ツールを登録する人でも、現在の設定を控えてから一つずつ進めれば元の状態へ戻しやすくなります。
連携設定の全体像
作業の流れは、WinMergeとTortoiseSVNの準備、Diff Viewerの登録、Merge Toolの登録、動作確認の四段階です。
差分を見るだけならDiff Viewerの設定が中心ですが、競合解消にもWinMergeを使う場合はMerge Toolも確認します。
最初にWinMergeU.exeの場所を把握しておくと、設定欄へ入力するパスを迷いにくくなります。
その後はTortoiseSVNのSettingsからExternal Programsを開き、Diff ViewerとMerge Toolを必要に応じて設定します。
最後にテスト用ファイルで起動を確認し、WinMergeが開くだけでなく比較対象が正しい左右に表示されることまで確かめます。
設定前に押さえるポイント
Diff ViewerとMerge Toolは役割が異なるため、片方が動いても両方の設定が完了したとは限りません。
設定文字列を入力する前に現在の内容を控え、問題が起きたときに元へ戻せるようにしておくと安心です。
WinMergeやTortoiseSVNのバージョン、インストール方法、保存場所によって表示やパスが異なる場合があります。
記事内の入力例は代表的な構成として確認し、実際のWinMergeU.exeの場所に合わせて調整してください。
外部ツールの設定を社内やチームで統一している場合は、個人判断で変更せず運用ルールを先に確認します。
設定作業を始める前に、WinMergeを使う目的を「通常の差分確認」「競合解消」「フォルダー比較」のどこまで求めるか整理します。
目的が明確であれば、Diff Viewerだけを設定するのか、Merge Toolまで設定するのかを判断しやすくなります。
WinMergeをTortoiseSVNと連携するメリット
WinMergeを外部ツールとして登録すると、TortoiseSVNのメニューから比較を実行した際にWinMergeを直接起動できます。
差分の位置を色や行単位で追いやすくなるため、ソースコードだけでなく設定ファイルや文章ファイルの確認にも便利です。
一方で、標準のTortoiseMergeで困っていない場合は、無理に変更する必要はありません。
普段からWinMergeを利用している人は、SVNの差分確認でも同じ操作感を使えるため、ツールを切り替える負担を抑えられます。
ファイル内の差分だけでなくフォルダー単位の比較も行えるため、複数ファイルの変更をまとめて確認したい場面でも役立ちます。
ただし、TortoiseSVNから呼び出すDiff Viewerと、WinMerge単体で行うフォルダー比較は別の使い方として考える必要があります。
TortoiseMergeとWinMergeの違い
TortoiseMergeはTortoiseSVNと一緒に使いやすい標準ツールであり、追加設定を増やしたくない場合に向いています。
WinMergeはファイル比較に加えてフォルダー比較にも対応しており、普段からWinMergeを使っている人は操作をそろえやすくなります。
| 比較項目 | TortoiseMerge | WinMerge |
|---|---|---|
| 導入の手軽さ | TortoiseSVNと一緒に利用しやすい | 別途インストールや連携確認が必要 |
| ファイル差分 | 標準的な比較に対応 | 行や文字の差分を細かく追いやすい |
| フォルダー比較 | 主な用途ではない | 複数ファイルの差を一覧で確認できる |
| 操作の統一 | TortoiseSVN中心の作業に向く | 既にWinMergeを使う人に向く |
| 設定の手間 | 少ない | パスや引数の確認が必要 |
どちらが優れているかではなく、自分が確認したい差分の細かさと運用のしやすさで選ぶことが大切です。
TortoiseMergeは標準構成のまま使えるため、設定変更を最小限にしたい環境で扱いやすい選択肢です。
WinMergeは表示や比較方法を細かく調整できるため、差分の読み取り方を自分の作業に合わせたい人に適しています。
チーム内で使用ツールが決まっている場合は、個人の使いやすさだけでなく、他のメンバーが同じ手順を再現できるかも判断材料になります。
WinMergeが向いている人・向いていない人
WinMergeは、空白や改行を含む細かな変更を確認したい人や、比較画面を見ながら内容を編集したい人に向いています。
反対に、TortoiseMergeの表示で十分な人や、社内ルールで外部ツールの追加が制限されている人には優先度が高くありません。
複数のプロジェクトでWinMergeを共通の比較ツールとして使っている人は、TortoiseSVNにも登録すると操作を統一しやすくなります。
設定ファイルやログのように似た行が多いファイルを比較する人も、色分けやペイン表示を活用しやすいでしょう。
一方で、差分比較をほとんど使わない人や、外部ツールの更新管理を増やしたくない人は標準設定のままでも問題ありません。
外部ツールを追加すると、WinMergeの移動や再インストール後にパスを見直す作業が必要になる場合があります。
日常的に差分を確認する回数が多いほど、見やすいツールへ統一する効果を感じやすくなります。
反対に、たまに一つのファイルを確認するだけなら、設定にかかる手間と得られる効果を比べて判断するとよいでしょう。
設定前に準備・確認するもの
設定を始める前に、WinMergeとTortoiseSVNがそれぞれ単体で起動できることを確認します。
実行ファイルの場所と変更前の設定を先に確認しておくと、起動しない場合の原因を切り分けやすくなります。
作業中のファイルへ影響を与えないように、動作確認用として小さなテキストファイルを用意しておくと安全です。
可能であれば、現在のDiff ViewerとMerge Toolの設定画面を画像で保存し、元へ戻すための控えを残します。
WinMergeとTortoiseSVNのインストール状況
WinMergeを起動し、ファイルを選択できる通常の画面が表示されることを確認します。
次に、エクスプローラーの右クリックメニューにTortoiseSVNが表示されることを確認します。
WinMergeのインストーラーにはTortoiseSVNとの連携を登録する選択肢があるため、インストール時に設定済みであれば手動登録が不要な場合があります。
現在の設定が分からないときは、先にTortoiseSVNのExternal Programsを開いて登録内容を確認しましょう。
WinMergeをインストールした直後は、一度単体で起動して正常に画面が開くことを確認します。
TortoiseSVNも、管理対象のフォルダーで右クリックメニューやDiffが利用できる状態かを確認します。
どちらか一方が単体で動かない場合は、連携設定へ進む前に本体側の問題を解消する方が原因を切り分けやすくなります。
WinMergeU.exeの保存場所
一般的なインストール先では、WinMergeの実行ファイルは次の場所にあります。
- C:\Program Files\WinMerge\WinMergeU.exe
インストール先を変更した場合やポータブル版を使っている場合は、実際にWinMergeU.exeが保存されている場所を指定します。
パスに半角スペースが含まれる場合は、コマンドへ登録するときに実行ファイルのパス全体をダブルクォーテーションで囲みます。
場所が分からない場合は、スタートメニューのWinMergeを右クリックしてファイルの場所を開く方法や、エクスプローラーでWinMergeU.exeを検索する方法があります。
ショートカットが見つかった場合は、プロパティのリンク先を確認すると実行ファイルの実体を把握できます。
WinMergeU.exeではなくショートカットのパスを登録すると正しく起動しない場合があるため、実行ファイルそのものを指定します。
ポータブル版を別のフォルダーへ移動した後は、TortoiseSVN側に登録したパスも合わせて変更する必要があります。
現在の設定を記録する
TortoiseSVNの設定を変更する前に、Diff ViewerとMerge Toolの入力欄をスクリーンショットやメモで残します。
元の文字列を保存しておけば、WinMergeが合わなかった場合や設定に失敗した場合でも戻しやすくなります。
設定欄が空の場合も、その状態が分かるように記録しておくと復元時に迷いません。
Advanced Settingsで拡張子別のツールを登録している場合は、通常のDiff Viewerだけでなく個別設定も確認します。
チームで共通設定を使っている場合は、変更前の内容を共有できる場所へ保存すると他のメンバーも確認しやすくなります。
WinMergeのバージョンとTortoiseSVNのバージョンも一緒に控えておくと、別の端末で再現するときの手掛かりになります。
設定文字列だけではなく、どの画面へ入力したかも記録しておくとDiff ViewerとMerge Toolの取り違えを防げます。
Diff ViewerをWinMergeに設定する手順
Diff Viewerは、作業コピーのファイルと比較元のファイルを並べて確認するときに呼び出される外部ツールです。
TortoiseSVNのExternal ProgramsからWinMergeU.exeと比較用の引数を登録します。
設定後は、変更したファイルからDiffを実行し、WinMergeが起動するかを確認します。
WinMergeが開くだけでなく、左右に表示されるファイル名と内容が想定どおりかまで確認することが重要です。
TortoiseSVNのSettingsを開く
エクスプローラーで任意の場所を右クリックし、TortoiseSVNからSettingsを開きます。
設定画面の左側からExternal Programsを展開し、Diff Viewerを選択します。
環境によっては管理対象フォルダー内で右クリックした方がTortoiseSVNのメニューを見つけやすい場合があります。
Settingsを開いたら、左側のツリーを展開し、外部プログラムに関する項目を確認します。
Diff ViewerとMerge Toolは別々の画面に分かれているため、最初はDiff Viewerを選択します。
Diff Viewerへ実行コマンドを登録する
Diff ViewerでExternalを選び、WinMergeを起動する文字列を入力します。
TortoiseSVN公式マニュアルにあるWinMerge用の考え方に合わせると、入力例は次のようになります。
- “C:\Program Files\WinMerge\WinMergeU.exe” -e -ub -dl %bname -dr %yname %base %mine
WinMergeU.exeの場所が異なる場合は、先頭のパスだけを実際の保存場所へ変更します。
ダブルクォーテーションは実行ファイルのパスを囲むために使い、引数全体を一組のクォーテーションで囲まないようにします。
入力後はApplyまたはOKを押し、設定画面を閉じてからもう一度開き、文字列が保存されていることを確認します。
コピーした文字列の前後に不要な空白や改行が入ると動作しない場合があるため、入力欄の先頭と末尾も見直します。
全角のダブルクォーテーションや全角スペースは見た目で気づきにくいため、半角で入力されていることを確認します。
入力欄へ貼り付けた後は、実行ファイルのパス、オプション、置換パラメーターの三つに分けて読み直すと誤りを見つけやすくなります。
設定を変更したら一度に複数のテストを行わず、まず通常のDiffだけを実行して結果を確認します。
置換パラメーターとオプションの意味
登録文字列には、WinMergeの表示を整えるオプションと、TortoiseSVNが比較対象を渡すための置換パラメーターが含まれます。
| 項目 | 役割 |
|---|---|
| -e | EscキーでWinMergeを閉じられる起動方法として使われる |
| -ub | 新しいウィンドウで開く動作に関係するオプションとして使われる |
| -dl | 左側ペインの表示名を指定する |
| -dr | 右側ペインの表示名を指定する |
| %bname | 比較元として表示する名前をTortoiseSVNから受け取る |
| %yname | 作業中ファイルとして表示する名前をTortoiseSVNから受け取る |
| %base | 比較元のファイルパスをTortoiseSVNから受け取る |
| %mine | 自分の作業コピーのファイルパスをTortoiseSVNから受け取る |
%bnameや%ynameは実ファイルの保存場所ではなく、WinMergeの画面で左右を見分けやすくする表示名に使われます。
%baseと%mineは比較する実ファイルを渡す部分なので、順番を入れ替えると左右の意味が変わる可能性があります。
オプションの表記はWinMergeやTortoiseSVNのバージョンで案内が異なる場合があるため、動作しない場合は利用中の公式マニュアルも確認してください。
置換パラメーターはTortoiseSVNが実行時に実際のファイル名やパスへ置き換えるため、手入力で固定のファイル名へ変更する必要はありません。
表示名のパラメーターを省略しても比較できる構成はありますが、左右の意味が分かりにくくなる場合があります。
設定文字列を短くしたい場合でも、まずは動作する例をそのまま試し、起動確認後に必要な調整を行う方が安全です。
WinMergeが起動しても左右のラベルが分かりにくい場合は、表示名に関係するパラメーターを残しておくと確認作業が楽になります。
比較結果を見ながら編集する場合は、どちらが作業中のファイルかを毎回確かめてから保存します。
Merge ToolをWinMergeに設定する手順
Merge Toolは、更新やマージで競合が発生したファイルを解決するときに呼び出されます。
Diff Viewerとは目的が異なるため、競合解消にもWinMergeを使いたい場合は別途登録内容を確認します。
競合解消では最終結果を書き込むファイルを扱うため、通常の差分表示より慎重に動作確認する必要があります。
重要な作業コピーで初めて試すのではなく、テスト用の競合を作って画面と保存先を確認しておくと安心です。
Diff ViewerとMerge Toolの違い
Diff Viewerは二つの状態を見比べる用途が中心ですが、Merge Toolは複数の変更を確認しながら最終的な結果を作るために使います。
| 項目 | Diff Viewer | Merge Tool |
|---|---|---|
| 主な目的 | 変更内容の確認 | 競合した変更の解消 |
| 主な利用場面 | Diffや履歴比較 | Edit conflictsなど |
| 代表的な入力 | %baseと%mine | %base、%mine、%theirs、%mergedなど |
| 結果ファイル | 比較だけなら保存不要 | %mergedに対応するファイルを確認する |
| 確認方法 | 変更ファイルでDiffを実行 | テスト用競合で起動と保存を確認 |
差分確認しか行わない環境ではDiff Viewerだけでも利用できますが、競合解消まで操作を統一するならMerge Toolも設定します。
Diff Viewerが正常に動作していても、Merge Toolの入力欄が未設定なら競合時には別のツールが開く場合があります。
反対に、Merge Toolだけを設定しても通常のDiffでWinMergeが起動するとは限りません。
どこまでWinMergeへ統一したいのかを先に決めると、必要な設定だけを行えます。
Merge ToolへWinMergeを登録する
External ProgramsのMerge Toolを開き、現在の登録内容を先に保存します。
TortoiseSVN公式マニュアルでは、WinMergeをMerge Toolとして使う簡単な例として次の形式が案内されています。
- “C:\Program Files\WinMerge\WinMergeU.exe” %merged
この例は競合結果ファイルをWinMergeで開く形なので、複数ペインを使った3-wayマージを登録したい場合はWinMergeインストーラーの連携機能を使う方法が分かりやすいです。
WinMergeのインストーラーには、TortoiseSVNやTortoiseGit向けの3-way merge toolとして登録する画面があります。
すでにWinMergeをインストール済みの場合は、インストーラーを再実行して連携項目を確認する方法もあります。
手動で複雑な引数を設定する場合は、利用中のWinMergeとTortoiseSVNのバージョンに対応した公式説明を確認します。
入力後はApplyまたはOKで保存し、再度画面を開いて内容が残っていることを確かめます。
Diff Viewerの設定文字列をそのままMerge Toolへコピーすると必要なファイルが渡らない場合があるため、用途ごとの例を混同しないようにします。
Merge Toolの登録はDiff Viewerよりも影響範囲が大きいため、設定後の確認手順も別に用意します。
チームで競合解消の手順を共有している場合は、WinMergeのペイン構成や保存方法も共通認識としてそろえます。
3-wayマージで注意すること
3-wayマージでは、変更前の基準、自分の変更、相手側の変更、最終結果の関係を理解してから編集します。
| 置換パラメーター | TortoiseSVNでの意味 |
|---|---|
| %base | 自分と相手の変更が入る前の基準ファイル |
| %mine | 自分の変更を含むファイル |
| %theirs | リポジトリ側から来た変更を含むファイル |
| %merged | 競合解消後の結果を書き込む対象ファイル |
保存前には、最終結果として残したい内容が%mergedに対応するファイルへ反映されることを確認します。
競合解消の操作に慣れていない場合は、重要な作業コピーで最初から試さず、複製したテスト環境で確認してください。
ペインの位置やラベルは起動方法によって異なる場合があるため、左や右だけで判断せず表示名と内容を確認します。
競合を解消した後は、TortoiseSVN側でも競合状態が解消されたかを確認します。
WinMergeで保存しただけではTortoiseSVN上の競合処理が完了しない場合があるため、作業手順全体を確認することが大切です。
最終結果を保存した後は、不要な競合マーカーが残っていないかをファイル内でも確認します。
ビルドやテストができるプロジェクトでは、競合解消後に通常の確認工程まで実行して内容の取り違えを防ぎます。
設定が反映されたか確認する方法
登録後はDiffとMergeを分けて確認すると、問題が起きた設定箇所を判断しやすくなります。
最初に通常のDiffを試し、その後に必要であればテスト用の競合でMerge Toolを確認します。
確認結果をメモしておくと、後からWinMergeやTortoiseSVNを更新した際に同じ手順で再確認できます。
ツールが起動したかだけでなく、渡されたファイル、表示名、保存先が正しいことまで確認します。
変更したファイルでDiffを実行する
SVN管理下のテキストファイルへ分かりやすい変更を一つ加え、保存します。
変更したファイルを右クリックし、TortoiseSVNからDiffを選択します。
WinMergeが起動したら、比較元と作業中のファイルが左右に表示され、追加や削除が認識されているか確認します。
表示名が逆に見える場合は、%bnameと%yname、%baseと%mineの順番を見直します。
WinMergeが起動してもファイルが読み込まれない場合は、実行ファイルのパスよりも引数や置換パラメーターの入力ミスを疑います。
テスト用の変更は一行だけ追加するなど、結果を予測しやすい内容にすると確認しやすくなります。
空白だけの変更と文字の変更を分けて試すと、現在の比較設定がどの差分を表示するかも把握できます。
確認後はテスト変更を元へ戻し、不要な差分を作業コピーに残さないようにします。
テスト環境でMerge Toolを確認する
Merge Toolの確認には競合状態が必要になるため、実作業へ影響しないテスト用の作業コピーを使います。
同じ行を異なる内容へ変更した二つの作業コピーを用意し、片方をコミットした後でもう片方を更新すると、内容によっては競合を再現できます。
競合が発生したらTortoiseSVNの競合編集機能を開き、WinMergeが起動することを確認します。
画面に表示されるファイル名と内容を確認し、どのペインが自分側、相手側、基準、結果に対応するかを把握します。
テストでは、どちらの変更を残すかを事前に決めておくと、保存後の結果が正しいか確認しやすくなります。
マージ結果を保存した後は、ファイル内容だけでなくTortoiseSVNの状態表示も確認します。
競合の再現が難しい場合は、無理に本番環境で試さず、チームの検証用リポジトリや既存の手順を利用します。
元の比較ツールへ戻す方法
WinMergeが合わない場合は、SettingsからExternal Programsを開き、Diff ViewerとMerge Toolを変更前の内容へ戻します。
事前にスクリーンショットや文字列を保存していれば、その内容を使って復元できます。
標準ツールへ戻す選択肢が表示される環境ではExternalではなく既定側を選び、ApplyまたはOKで保存します。
戻した後もDiffと競合編集を一度ずつ確認し、意図したツールが起動することを確かめましょう。
拡張子別の外部ツール設定を追加している場合は、通常設定だけでなく個別設定も元へ戻します。
WinMerge本体を削除する前にTortoiseSVN側の登録を戻しておくと、存在しない実行ファイルを呼び出す状態を避けられます。
設定を戻す途中で分からなくなった場合は、Diff ViewerとMerge Toolを同時に変更せず片方ずつ復元します。
復元後のテスト結果も記録しておくと、再度WinMergeを導入するときに比較できます。
WinMergeを使いやすくする設定
連携に成功した後は、差分の表示方法を調整すると確認作業をさらに進めやすくなります。
ただし、差分を無視する設定を増やしすぎると重要な変更を見落とすため、目的に合わせて使い分けます。
最初は標準設定で比較し、見づらい原因が明確になった項目だけを変更する方が安全です。
設定を変えた後は同じテストファイルを比較し、表示がどのように変わったかを確認します。
空白・改行・文字単位の差分を調整する
インデントの変更が大量に表示される場合は、WinMergeの比較設定で空白の扱いを調整します。
空白をすべて無視すると、意図的なスペース変更まで見えにくくなるため、プログラミング言語やファイル形式に合わせて選びます。
改行コードだけが異なるファイルでは、内容が同じでも多くの行が変更されたように見える場合があります。
コードレビューでは空白の変更が意味を持つ場合もあるため、無視設定を使う前にチームのルールを確認します。
文章ファイルでは、単語単位や文字単位の差分表示を使うと修正箇所を追いやすくなります。
大量の差分が表示されたときは、最初からすべてを無視するのではなく、文字コードや改行コードの違いも確認します。
文字コードと表示崩れを確認する
日本語が文字化けする場合は、左右のファイルで文字コードの判定が合っているか確認します。
UTF-8とShift_JISなど異なる文字コードのファイルを比較すると、内容以外の違いが大きく見えることがあります。
WinMergeでは表示中のコードページを確認できるため、意図した文字コードへ合わせてから再比較します。
片側だけ文字コードを変更すると保存時に内容へ影響する場合があるため、編集前に元ファイルの形式を確認します。
BOMの有無や改行コードの違いも、見た目では分かりにくい差分として現れる場合があります。
設定ファイルを比較する場合は、文字化けが解消した後に実際の変更内容をもう一度確認します。
フォルダー比較と拡張子別設定を活用する
WinMergeを単体で起動すると、二つのフォルダーを指定して配下のファイル差分を一覧で確認できます。
大量の設定ファイルを移行した後や、バックアップとの違いを探す場合に便利です。
TortoiseSVNのAdvanced Settingsでは、拡張子やMIMEタイプに応じて異なるDiffやMergeツールを割り当てられます。
画像や特殊な形式だけ別の比較ツールを使いたい場合に役立ちますが、設定が増えるほど起動ツールの判断が難しくなります。
拡張子別設定を使う場合は、どの形式にどのツールを割り当てたかを記録します。
フォルダー比較では除外条件やフィルターによって結果が変わるため、必要なファイルが一覧から外れていないか確認します。
通常のファイルDiffで十分な場合は、無理に個別設定を増やさない方が保守しやすくなります。
用途ごとの設定を増やすと便利になる一方で、どの条件でどのツールが起動するかを把握する必要があります。
最初は共通のDiff Viewer設定だけで運用し、必要性が明確になった段階で拡張子別設定を追加すると管理しやすくなります。
WinMergeが起動しないときの対処法
設定後にWinMergeが開かない場合は、実行ファイル、入力文字列、TortoiseSVN側の選択、WinMerge本体の順で確認します。
一度に複数の設定を変えると原因が分からなくなるため、一項目ずつ修正してDiffを再実行します。
症状を「WinMergeがまったく開かない」「WinMergeは開くがファイルが表示されない」「Diffだけ動く」「Mergeだけ動かない」に分けると確認箇所を絞りやすくなります。
エラーメッセージが表示された場合は、内容を記録してから設定を変更します。
再現するファイルの種類や操作手順も控えておくと、すべてのファイルで起きる問題か特定の拡張子だけの問題かを判断できます。
直前にWinMergeやTortoiseSVNを更新している場合は、更新前後で保存場所や設定項目が変わっていないかも確認します。
WinMergeU.exeの場所を確認する
最初に、登録したパスへWinMergeU.exeが実際に存在するか確認します。
32ビット版やポータブル版、独自のインストール先を使っている場合は、一般的なProgram Files配下と異なることがあります。
エクスプローラーのアドレスバーから登録パスをたどり、WinMergeU.exeを直接確認します。
実行ファイルを移動した覚えがある場合は、TortoiseSVN側の文字列も更新します。
ファイル名が似ている別の実行ファイルやショートカットを指定していないかも確認します。
ダブルクォーテーションと引数を見直す
C:\Program Filesのように半角スペースを含むパスは、実行ファイル部分をダブルクォーテーションで囲みます。
先頭と末尾のクォーテーションが全角になっていないか、閉じる位置が正しいかを確認します。
次に、%baseや%mineの先頭にある%が抜けていないか、項目の間に半角スペースがあるかを見直します。
コピー時に改行が混ざると、見た目では一行でも内部的に正しく解釈されない場合があります。
WinMergeは開くが比較対象が表示されない場合は、実行ファイルのパスより引数部分を重点的に確認します。
左右の表示名だけがおかしい場合は、%bnameと%ynameの指定順を確認します。
TortoiseSVNのExternal Programsを再確認する
Diff Viewerの入力欄へ文字列を入れていても、Externalが選ばれていなければWinMergeは呼び出されません。
ApplyまたはOKを押さずに画面を閉じると保存されないため、設定後にもう一度開いて内容が残っているか確認します。
Advanced Settingsで拡張子別のツールが登録されていると、特定のファイルだけ別のツールが起動することがあります。
Diffは動くのにMergeだけ動かない場合は、Diff ViewerではなくMerge Toolの欄を確認してください。
特定の拡張子だけ動かない場合は、通常のDiff Viewer設定よりも個別設定の影響を疑います。
設定を変更した直後に反映されない場合は、開いているダイアログを閉じてから再実行します。
WinMerge単体の起動を確認する
WinMergeU.exeを直接ダブルクリックし、通常の画面が開くか確認します。
単体でも起動しない場合は、TortoiseSVNとの連携設定ではなくWinMerge本体の問題である可能性が高くなります。
単体では起動するのにTortoiseSVNから開けない場合は、パスや引数、Externalの選択を重点的に見直します。
必要に応じてWinMergeを修復または再インストールしますが、その前に設定やフィルターの控えを保存します。
再インストール後に保存場所が変わった場合は、TortoiseSVNの登録パスも更新します。
セキュリティソフトや組織の実行制限によってWinMergeの起動が止められている可能性がある場合は、管理者や担当部署へ確認します。
権限の問題を疑う場合でも、安易に常時管理者権限で実行するのではなく、組織のルールに沿って対応します。
WinMergeとTortoiseSVNのよくある質問
ここでは、連携設定を検討するときや設定後に生じやすい疑問をまとめます。
本文で説明した内容を短く確認し、必要な設定だけを選ぶための判断材料として利用してください。
WinMergeは無料で利用できますか?
WinMergeはオープンソースで公開されている比較・マージツールであり、無料で利用できます。
業務環境で利用する場合は、組織のソフトウェア導入ルールやライセンス確認の手順にも従います。
Diff ViewerとMerge Toolは両方必要ですか?
変更内容の確認だけが目的なら、まずDiff Viewerを設定すれば利用できます。
競合解消でもWinMergeを使いたい場合は、Merge Toolの登録と動作確認も必要です。
どちらを設定したか分からなくならないように、設定後の確認結果をメモしておくと便利です。
インストーラーの自動連携だけでも使えますか?
WinMergeのインストーラーでTortoiseSVNとの連携を選択した場合は、自動登録された設定だけで使えることがあります。
Diffと3-wayマージは別の選択項目になっているため、必要な機能が登録されているか実際に確認してください。
自動連携を使った場合でも、アップデートや再インストール後にはDiffとMergeを一度ずつ試すと安心です。
フォルダー同士も比較できますか?
WinMerge自体にはフォルダー比較機能があり、二つのフォルダーに含まれるファイルの違いを一覧で確認できます。
TortoiseSVNのDiffから常にフォルダー比較を行うという意味ではないため、用途に応じてWinMerge単体から開きます。
大量のファイルを比較する場合は、除外フィルターやサブフォルダーの扱いも確認します。
設定を元に戻すにはどうすればよいですか?
TortoiseSVNのExternal Programsを開き、Diff ViewerとMerge Toolを変更前の設定へ戻します。
変更前の内容を保存していない場合は、既定ツールを選択できる項目があるかを確認します。
復元後はDiffと競合編集を試し、想定したツールが起動することを確認します。
設定を戻してもWinMergeが起動する場合は、拡張子別設定やインストーラーによる自動連携が残っていないか確認します。
どの項目を変更したか分からない場合は、保存しておいた画面と現在の画面を見比べながら一つずつ戻します。
まとめ
TortoiseSVNでWinMergeを使うには、WinMergeU.exeの場所を確認し、External ProgramsでDiff Viewerを登録します。
競合解消にも利用する場合はMerge Toolを確認し、必要に応じてWinMergeインストーラーの3-wayマージ連携を利用します。
設定前に現在の内容を控え、DiffとMergeを別々にテストすると、問題が起きても原因を切り分けやすくなります。
WinMergeが起動しない場合は、実行ファイル、ダブルクォーテーションと引数、Externalの選択、WinMerge単体起動の順で確認します。
設定後の確認チェックリスト
最後に次の項目を確認すると、設定漏れを見つけやすくなります。
- WinMergeU.exeのパスが実際の保存場所と一致している
- 半角スペースを含む実行ファイルのパスをダブルクォーテーションで囲んでいる
- Diff ViewerでExternalを選び設定を保存している
- 変更ファイルのDiffでWinMergeが起動する
- 比較元と作業中のファイルが想定した側に表示される
- Merge Toolを使う場合はテスト用競合で起動を確認している
- %mergedに対応する結果ファイルを理解している
- 問題が起きたときに元の設定へ戻せる
設定文字列を一度で完璧に覚える必要はなく、実行ファイル、引数、設定先、動作確認の順で確かめれば落ち着いて原因を切り分けられます。
WinMergeやTortoiseSVNを更新した後は、同じチェックリストを使ってDiffとMergeを再確認すると安心です。
チームで同じ設定を利用する場合は、実行ファイルの場所やバージョン差を考慮し、文字列だけでなく確認手順も共有します。
設定の目的と復元方法まで記録しておけば、担当者が変わった後でも安全に運用を続けやすくなります。