WinMerge 日本語版

ファイルやフォルダの比較ができてマージもできる、WinDiffを使い易くしたようなソフトWinMergeの日本語版
GUIな CVS, Subversionクライアントのお供にでもどうぞ。

32bit版ダウンロード 64bit版ダウンロード

WinMerge日本語版
バージョン 日付 インストーラ Zip版 ソース
安定版
2.16.10+-jp-6 2021-03-29
2.16.10+-jp-4 2021-03-02
2.16.10+-jp-1 2021-01-30
プレリリース版
ダウンロード
旧安定版
Frhed (2.14.0+-jp-68まで同梱していたバイナリエディタのWinMerge日本語版向け改造版)
バージョン 日付 ファイル ソース
0.10902.2015.5 2015-03-01 Frhed 32bit版(0.24MB) Frhed 64bit版(0.25MB) ソース(Bitbucket)
WinMergeプラグイン(インストーラやZip版にも同じものが同梱されています。プラグインを使用するには 展開された *.sct, *.dll ファイルを MergePlugins フォルダにコピーしてください)
名前 日付 ファイル
プラグインパック(32bit版)(要2.14.0+-jp-63以上) 2020-07-29 ダウンロード(0.52MB)
プラグインパック(64bit版)(要2.14.0+-jp-63以上) 2020-07-29 ダウンロード(0.63MB)

  • dirview

    ディレクトリ比較

  • fileview

    ファイル比較

  • preview

    印刷プレビュー

  • report

    HTMLレポート

  • github_bitbucket_colorscheme

    GitHub/Bitbucket カラースキーマ

  • imgdiff

    画像比較

  • diff_excel

    プラグインによるExcelシートの画像化比較

  • table_editing

    テーブル比較

  • drag-drop

    ドラッグ&ドロップ

  • excel-plugin

    Excelプラグイン

  • prediff-linefilter-plugin

    PrediffLineFilterプラグイン

  • drag-mode

    画像比較:ドラッグモード

  • overlay-animation

    画像比較: オーバーレイアニメーション

  • insertino-deletion-detection

    画像比較: 挿入削除検出

2.16.0で違いがほぼなくなりました。

  • 日本語ヘルプを添付
  • ファイルの文字コード自動検出([編集]→[設定]→[コードページ]カテゴリ→[mlang.dll ... ]をチェック)
  • 3ファイル比較、3フォルダ比較
  • 64bit版の提供
  • 行内比較アルゴリズムの改善
  • Diffコンテキスト表示(差異のある行の周辺のみを表示するモード)(印刷やHTMLレポートにも反映される)
  • エディタ上で矩形選択可能(Altキーを押しながらマウス選択または、Ctrl+Bを押してからShift+カーソルキーで選択)
  • WinMergeで開いているファイルを外部エディタで編集・保存後、WinMergeをアクティブにしたときに変更を検出
  • 外部エディタの起動引数に$file, $linenum 指定可
  • VBScriptやJScriptで記述されたプラグインでも動作
  • フォルダ比較中でもファイルリスト表示。比較の進捗状況が確認でき、ファイルが開ける。
  • フォルダ比較ウインドウ、フォルダ比較レポートで差異ファイルの色付け
  • ファイル比較ウインドウで縦に並べて表示([表示]→[垂直分割])(バージョン 2.13 以降)
  • ファイル・フォルダオープンダイアログの変更(バージョン 2.13 以降)
  • Explorerでフォルダ選択時にシェルエクステンションアイコンを変更(バージョン 2.13 以降)
  • エンコードエラー時、文字コード選択、プラグイン選択、HEX表示の選択が可能(バージョン 2.13 以降)
  • フォルダ再比較後、フォルダツリー展開状態を復元(バージョン 2.13 以降)
  • フォルダ比較をマルチスレッドで実行(バージョン 2.13 以降)
  • 同期ポイントを設置可能(バージョン 2.14.0-jp-18 以降)
  • 3方向マージサポート機能(バージョン 2.14.0-jp-29 以降)
  • 簡易画像比較・マージ機能(バージョン 2.14.0-jp-56 以降)
  • 「バイナリコンテンツ」フォルダ比較方法の追加(バージョン 2.14.0-jp-68 以降)
  • ドラッグ&ドロップ機能の改善(バージョン 2.14.0-jp-74 以降)

3方向マージ(3-way merge)とは

あるファイルから他者と自分が別々の変更を行った結果、2つのファイルができてしまったため、 他者が修正したファイルと自分が修正したファイルをマージして 一つのファイルに戻したいとします。このとき、修正前の元のファイルが残っていれば、他者ファイル、自分のファイルの3つのファイルを元に ある程度自動的に修正を1つのファイルにマージすることが可能です。 この3つのファイルから(自動的な)マージをすることは、3方向マージ(3way-merge)と呼ばれています。

自動的なマージは、他者の修正と自分の修正箇所が被っていない箇所で可能です。たとえば、 あるファイルが小説のテキストだったとして、他者は第一章の誤字・脱字を修正し、自分は第三章の誤字・脱字を修正した場合は、 お互いの修正が被っていないのでどちらの修正も自動的にマージすることができます。しかし、他者と自分が同じ箇所(行)に 異なる修正を行った場合は、どちらの修正を採用してよいのか自動的に判断することができません。このような状態は コンフリクト(衝突/競合)と呼ばれ、手作業で修正を行うことになります。

P4MergeやKDiff3,DiffMerge,TortoiseMerge のようなツールはこの3方向マージをサポートしており、 WinMerge日本語版でも今更ではありますが、2.14.0-jp-29以降から利用可能となりました。 (実現方法としては、本当はp4mergeの様な4ペイン形式にしたかったのですが、 今まで実装する気力がわいてこなかったのと、最近3ペイン形式でもよいかと考え直して、今のように実装してみました) とはいえ、現時点では、3方向マージに関して他のツールよりも優位な点は特になく、むしろ、3ファイル比較時の差分検出精度がおそらく GNU diffutils の diff3 コマンドと同等程度で他のツールと比べて比較的大雑把になっているため、 他のツールがコンフリクトだと検出しないところでも コンフリクトと検出することがあります。このため、他のツールではうまくいないことがある場合や、 他のツールになじめなかった場合は、WinMerge日本語版を使用してみてください。

自動マージ

WinMergeで元のファイルと他者のファイルと自分のファイルの3つのファイルを開き、 [マージ]メニュー→[自動マージ(Alt+Ctrl+M)]またはツールバーのauto-mergeを選択すると コンフリクトしている箇所(他者と自分が同じ所を修正しているためどちらを採用してよいかわからない所)は除いて自動的にマージを行います。

WinMergeでは、現在アクティブになっているペインによってマージする方法を変えています。

  • 中央ペインで自動マージした場合は、[他者のファイル]-[元のファイル]-[自分のファイル]という順番で ファイルが並んでいるとみなし、コンフリクトしていない左側(他者)と右側(自分)の変更を中央(元)にマージします。
  • 右側ペインで自動マージした場合は、[元のファイル]-[他者のファイル]-[自分のファイル]という順番で ファイルが並んでいるとみなし、コンフリクトしていない中央(他者)の変更を右側(自分)にマージします。
  • 左側ペインで自動マージした場合は、[自分のファイル]-[他者のファイル]-[元のファイル]という順番で ファイルが並んでいるとみなし、コンフリクトしていない中央(他者)の変更を左側(自分)にマージします。

他の3ペイン方式のマージツールの多くは、最初の中央(元ファイル)に他者と自分の変更をマージする方式を採用していますが、 私は2番目の右側(自分)に中央(他者)の変更をマージする方式でも良いかなと思っています。 前者だとマージされる変更が他者と自分の両方となるためマージ量がどうしても多くなってしまい、 マージ後に通知される変更の数にぎょっとしてしまって心理的によくないのと、元のファイルが書き換わらないため、 マージ後でも他者がどのような修正を行ったのかを見ることができるのと、 マージ前にどの箇所が自動マージされるのかが事前にロケーションペインで水色で表示されている箇所としてわかるためです。 逆に後者だとマージすると自分のファイルの内容が変更されるため、マージ前の自分のファイルの内容と比較できなくなったり、 元のファイルと自分のファイルが離れているため、元と自分との比較がしにくくなります。好みの方法を選んでください。

なお、自動マージで変更された内容を元に戻したい場合は、Ctrl+Zキーで元に戻すことができます。 また、コマンドライン引数(/al,/am,/ar)を指定することによって、WinMerge起動時に自動で自動マージを行うことができます。

コンフリクト箇所への移動

自動マージでは、コンフリクトしている箇所はマージを行わずそのままの状態とするため、 手動でコンフリクト箇所を修正してください。

コンフリクトの箇所はロケーションペインで3つのバーの間が赤く表示されており、 自動マージ直後は、最初のコンフリクト箇所へ移動します。

次のコンフリクト箇所へ移動するには、[マージ]→[次のコンフリクト(Alt+Shift+Down)]または、ツールバーのnext-conflict アイコンをクリックしてください。

また、[マージ]→[前のコンフリクト(Alt+Shift+Up)]または、ツールバーの prev-conflictアイコンで前のコンフリクト箇所に移動することができます。

なお、コンフリクト箇所を未修正のまま保存しようとしても kdiff3 のように警告しませんので注意してください。 修正忘れが発生すると他者から俺の修正が見捨てられたと憤慨されることになります。

3方向マージの例

右側ペインにマージする例です。

自動マージ前

左側:[元のファイル]、中央:[他者のファイル]、右側:[自分のファイル]の順番でファイルを開きます。右側ペインでマージを行うため、 右側ペインにフォーカスを当てた後、ツールバーのauto-mergeをクリックすると自動マージが行われます。

before-3way-merge

自動マージ後

自動マージ後は、コンフリクトしている箇所(例では3番目の差異)を修正してください。この例では、例えば、return "cat"; を 他者の修正を尊重してreturn "dog and cat";のように修正します。

after-3way-merge

3方向マージに関連するコマンドラインオプション

/al
起動後、左側ペインで自動マージを行います。
/am
起動後、中央ペインで自動マージを行います。
/ar
起動後、右側ペインで自動マージを行います。
/o 出力ファイルパス
保存するとき、変更を行ったファイルそのものではなく、代わりに /o オプションで指定したファイルに変更を保存します。
/fl
起動後、左側ペインにフォーカスを当てます。
/fm
起動後、中央ペインにフォーカスを当てます。
/fr
起動後、右側ペインにフォーカスを当てます。
/wl
左側ペインの内容を書き換えることができないようにします。
/wm
中央ペインの内容を書き換えることができないようにします。
/wr
右側ペインの内容を書き換えることができないようにします。

バージョン管理ツールとの連携例

バージョン管理ツールを使用して複数の人と同時に開発すると3方向マージが必要な状況がよく発生します。 たいていのバージョン管理ツールでは3方向マージ用のツールが指定できるようになっています。

TortoiseSVN/TortoiseGIT との連携例

[設定]メニュー→[差分ビューアー/マージツール]で[外部]を選択し、その下のテキスト入力エリアへ以下のように指定します。
  • 右側ペインでマージする場合(起動時自動マージしたくない場合は /ar を削除)
    C:\Program Files\WinMerge\WinMergeU.exe /e /ub /fr /ar /wl /wm /dl %bname /dm %tname /dr %yname  %base %theirs %mine /o %merged
  • 中央ペインでマージする場合(起動時自動マージしたくない場合は /am を削除)
    C:\Program Files\WinMerge\WinMergeU.exe /e /ub /fm /am /wl /wr /dl %tname /dm %bname /dr %yname  %theirs %base %mine /o %merged
  • 左側ペインでマージする場合(起動時自動マージしたくない場合は /al を削除)
    C:\Program Files\WinMerge\WinMergeU.exe /e /ub /fl /al /wm /wr /dl %yname /dm %tname /dr %bname  %mine %theirs %base /o %merged

TortoiseHG との連携例

3-wayマージツールに winmergeu を指定し、%userprofile%\mercurial.ini の [merge-tools] セクションへ以下のように追加します。
[merge-tools]
# 右側ペインでマージする場合(起動時自動マージしたくない場合は /ar を削除)
winmergeu.args =   /e /ub /fr /ar /wl /wm /dl base /dm other /dr local $base $other $local /o $output
# 中央ペインでマージする場合(起動時自動マージしたくない場合は /am を削除)
# winmergeu.args = /e /ub /fm /am /wl /wr /dl other /dm base /dr local $other $base $local /o $output
# 左側ペインでマージする場合(起動時自動マージしたくない場合は /al を削除)
# winmergeu.args = /e /ub /fl /al /wm /wr /dl local /dm other /dr base $local $others $base /o $output

SourceTree との連携例

[Tools]→[Options]→[Diff]タブ で [Merge Tool]を Custom にし、 [Diff Command]に

C:\Program Files\WinMerge\WinMergeU.exe
[Arguments]に
-e -ub -fr -ar -wl -wm -dl base -dm remote -dr local $BASE $REMOTE $LOCAL -o $MERGED

を指定します。(右側でマージする例)

ウィルス誤検知の対応状況

  • 64bit版のインストーラは、InnoSetup6.0.xで作成していましたが、71のエンジンのうち、SecureAge APEX, McAfee-GW-Edition の2つで常に警告が発生してしまうため、一時的にInnoSetup5でインストーラを作成するようにします。 これにより、1つのインストーラでユーザ毎か全ユーザ対象かの選択インストールができなくなったため、別途ユーザ毎インストーラを作成しています。
  • 32/64bitの両方のZip版で1件誤検知があります。

2021/03/29 2.16.10-jp-6

全般

  • タブバー: アクティブなタブと非アクティブなタブが区別しづらいといわれたので少し目立つようにタブに影をつけてみた
  • ツールバー: 保存アイコンにドロップダウンメニューを追加
  • なぜか2.16.10+-jp-5からFirefoxやChromeで64bit版zipをダウンロードすると、「このファイルを開くのは危険です」といわれるようになってしまったため、 いろいろ試行錯誤すると、日本語以外の翻訳ファイル(.po)を削除するとなぜか不平をいわれなくなったので、問題が解消するまで 日本語以外の翻訳ファイルを含めないようにした

ファイル比較

  • 不具合修正: ファイルの文字コードがUTF-8以外で、コメントに日本語等のASCII以外の文字が含まれている場合、コメントフィルタが正しく動作しないことがあった
  • コードページダイアログに「BOM」チェックボックスを追加

フォルダ比較

  • 不具合修正: コードページダイアログでコードページを変更しても、開くファイルに反映されなかった

画像比較

  • 不具合修正: フォルダ比較ウインドウから右側しか存在しない画像ファイルを開くと画像が表示されないosdn.net #41721

ファイルまたはフォルダの選択ウインドウ

  • 比較ボタンにバイナリ/画像等のファイルの種類を指定できるドロップダウンメニューを追加

アーカイブサポート

  • 不具合修正: 上書きインストールでMerge7z.dllが更新されない osdn.net #41682

2021/03/02 2.16.10-jp-4

ファイル比較

  • 不具合修正: 空白比較オプションで「変更を無視」または「すべて無視」が選択され、かつ、「空行を無視する」が有効の場合、空行ではない行が無視されることがある。(バージョン 2.16.10+-jp-3 で発生)osdn.net #41668

2021/03/01 2.16.10-jp-3

全般

  • 不具合修正: フォルダ比較ウインドウからファイル比較ウインドウを開いた後、ファイル比較ウインドウを閉じずにフォルダ比較ウインドウを閉じるとクラッシュする。GitHub #645
  • ツールバーの開くアイコンの右から最近開いたファイルやフォルダを選択できるようにした。

ファイル比較

  • 不具合修正: VBのシンタックスハイライトで、一部のキーワードが着色しない。osdn.net #41440
  • 不具合修正: Zipファイルの中身を比較しているときに、[表示]→[ペインの交換]でファイルを入れ替えてもタイトルが入れ替わらない。
  • 不具合修正: オプションダイアログの[コードページ]カテゴリ、[mlang.dll...]のコンボボックスで[自動選択]を選択した場合、ファイルの文字コードをUTF-7とみなしてしまうことがある。GitHub #607
  • 不具合修正: Shiftキーを押しながらロケーションペインでカーソルを移動するか、移動ダイアログで移動したとき、選択範囲が正しく広がらない。sf.net #2237
  • 不具合修正: AutoItのファイルを開いたとき、' でくくられた文字列が文字列の色にならない。GitHub #610
  • 不具合修正: ウインドウを分割しているときにシンタックスハイライトのファイルタイプを変更したとき、2つ目のペインに変更が反映されない。GitHub PR #624(PRいただきました。ありがとうございます。)
  • シンタックスハイライト用に各ファイル種別の拡張子を追加設定できるページをオプションダイアログに追加。GitHub PR #627(PRいただきました。ありがとうございます。)
  • オプションダイアログの[一般]カテゴリ→[単一インスタンスモード]に「1つのみインスタンスを起動し、既起動インスタンスの終了を待つ」を追加。これは、SourcetreeやVisual Studioのような、起動した外部比較ツールの終了を検出したら比較に使用していた一時ファイルを削除してしまうタイプのバージョン管理ツールで単一インスタンスモードが正常に機能していなかったもの対策になっています。GitHub #622
  • 空白無視、かつ空行無視が設定されているときは、半角スペースとタブしか含まない行を差分から除外。osdn#41355(パッチをいただきました。ありがとうございます。)
  • 右クリックメニューに[選択した行を左/右側にコピー]メニューを追加GitHub PR #642(PRいただきました。ありがとうございます。)

ファイルまたはフォルダの選択ウインドウ

  • 不具合修正: このウインドウでは保存ボタンが押せるが、押しても空のファイルしか保存できなかったため、現在の指定内容をプロジェクトファイルとして保存するようにした。
  • ファイルを1つだけ指定して比較ボタンを押した場合に、そのファイルのコピーと比較するようにした。

オプションダイアログ

  • 不具合修正: 色の設定ダイアログの「色の作成」で作成した色が保存されないことがある。GitHub PR #624(PRいただきました。ありがとうございます。)

アーカイブサポート

  • RAR5形式の圧縮ファイルを展開できるようにした。GitHub #644

コマンドライン

  • /sw オプションを追加。(オプションダイアログの[一般]カテゴリ→[単一インスタンスモード]の「1つのみインスタンスを起動し、既起動インスタンスの終了を待つ」と同じ動作をする)GitHub #622
  • /self-compare オプションを追加。(指定した1つのファイルとそのファイルのコピーを比較する)

2021/01/30 2.16.10-jp-1

全般

  • 不具合修正: [最近使用したファイルやフォルダー]メニューになにも表示されなくなった。
  • 3ファイル/フォルダ比較時でも任意のペインの入れ替えができるようにした。GitHub PR #533(PRいただきました。ありがとうございます。)

ファイル比較

  • 不具合修正: ステータスバーの右側をダブルクリックするとクラッシュする。GitHub #531
  • Java と JavaScript のシンタックスハイライトのルールを分離osdn#41083(JavaScriptのキーワード一覧をいただきました。ありがとうございます。)
  • [表示]->[Diffコンテキスト]->[反転]メニューを追加。差異行を逆に表示したくないときや一致する行のみを選択してコピーするのに使用します。
  • AutoItのシンタックスハイライトを追加
  • [ファイル]→[新規]→[テーブル]メニューを追加
  • 置換フィルター機能を追加GitHub PR #544(PRいただきました。ありがとうございます。)
  • ツールバーに次のファイル、前のファイル、最後のファイル、最初のファイルアイコンを追加GitHub PR #561(PRいただきました。ありがとうございます。)

フォルダ比較

  • 不具合修正: フォルダを選択してコピーするとフォルダ内のファイルの状態が更新されない。GitHub #537

画像比較

  • 不具合修正: 32bit未満の画像をクリップボードから画像の貼り付けると崩れた画像が張り付けられてしまっていた。
  • [画像]メニュー→[画像から抽出したテキストを比較]メニューを追加した。

コマンドライン

  • 不具合修正: コマンドラインオプション /x がバイナリ比較時や画像比較時にきかない。
  • フォルダ比較方法を指定するコマンドラインオプション /m を追加。GitHub #530

    次のキーワードが指定できます。

    Full(フルコンテンツ), Quick(クイックコンテンツ), Binary(バイナリコンテンツ), Date(更新日時), SizeDate(更新日時とサイズ), Size(サイズ)

    例: フォルダ比較方法=更新日時とサイズ で比較
    WinMergeU /m SizeDate folder1 folder2

2020/12/29 2.16.8-jp-11

全般

  • 不具合修正: 言語を変更してもタブバーのコンテキストメニューに反映されない。GitHub PR #528(PRいただきました。ありがとうございます。)
  • メニューなどの翻訳の改善GitHub-jp PR #8(PRいただきました。ありがとうございます。)

ファイル比較

  • 不具合修正: 直前にControlキーやShiftキーを押して戻しただけにもかかわらず、ドラッグなどの操作が、ControlキーやShiftキーを押しながらの操作とみなされてしまう。GitHub PR #505(PRいただきました。ありがとうございます。)
  • 不具合修正: HTMLレポートの作成に失敗したときも「レポートの生成に成功しました」と表示されてしまう。
  • 移動ブロック検出を有効にしたとき、ロケーションペインで描画される移動行の接続線がデフォルトで表示されないのを改善。GitHub #498
  • 新規作成で画像やバイナリを選べるようにした。

パッチの生成ダイアログ

  • 不具合修正: 「改行文字の違いを無視する」チェックボックスにチェックを入れてパッチを生成するとクラッシュすることがある。GitHub #521

画像比較

  • クリップボードから画像の貼り付け、クリップボードへの画像のコピーができるようにした。
  • [画像]メニュー→[ドラッグモード]→[矩形選択]メニューを追加した。

コマンドライン

  • /s- コマンドラインオプションの追加: このオプションを指定すると、「複数のインスタンスを起動しない」の設定を無視して、別プロセスのWinMergeを起動します。

2020/11/29 2.16.8-jp-8

ファイル比較

  • 不具合修正: コメントの違いを無視するオプションを有効したとき、コメント以外も無視してしまうことがある。(シンタックスハイライトベースのコメントフィルタ実装に変更)osdn.net #40488
  • 不具合修正: ペイン幅変更後、別タブに切り替えて再度ペイン幅を変更したタブに戻るとペイン幅が元に戻ってしまう。GitHub #403
  • 不具合修正: Diff ペインがアクティブな場合、「移動...」メニューやロケーションペインの左クリックによる移動が正しく動作しない。GitHub PR #476(PRいただきました。ありがとうございます。)
  • HTMLファイル内の<style>タグ内のCSSや<script>タグ内のJavascriptがシンタックスハイライトされるようにした。
  • [移動行に移動]等のメニューを追加。他方のペインの移動行へ移動できるようになりました。(シュートカットキー Ctrl+Shift+G)GitHub PR #484(PRいただきました。ありがとうございます。)
  • 非常に長い行の行内差異表示が非常に遅かったのを若干改善。
  • [自動的に最初の行内差異へスクロールする]オプションを追加。

バイナリファイル比較

  • 不具合修正: フォーカスがあたっていないとマウスホイールでスクロールしない。GitHub #456

フォルダ比較

  • 不具合修正: 大きなサイズのファイルを比較している時に[一時停止]や[停止]ボタンを押してもすぐに停止しない。GitHub #342
  • 比較結果列でソートしたとき、左のみまたは右のみのファイルとフォルダが連続で表示されるようにした。GitHub #483

2020/10/29 2.16.8-jp-5

全般

  • 不具合修正: メニューのアイコンが別のアイコンで表示されてしまう問題を修正
  • 起動速度の高速化

ファイル比較

  • 不具合修正: 3ファイル比較で行フィルタ、コメントフィルタ、[空行を無視する]オプションが機能しない問題を修正GitHub #395 GitHub #450
  • ファイルの最終行が削除ブロックの場合、そのブロックに同期ポイントは設定できないため、エラーを表示するようにしたGitHub PR #457(PRいただきました。ありがとうございます。)
  • WinMergeで開いているファイルを外部エディタでUTF-8からBOM付きUTF-8または逆に変更した後、WinMergeでリロードしてもステータスバーのエンコーディング名が変わらない問題を修正GitHub #466
  • ステータスバーダブルクリックで関連するダイアログ・メニューを表示するようにした
  • Alt+Down/Upキーやツールバーアイコン等で次/前の差異に移動時、行内差異が横にスクロールせずに見えるようするため、最初の行内差異にカーソルを移動するようにしたGitHub #452

フォルダ比較

  • コピーの確認ダイアログで「再びこの質問をしない」チェックボックスを追加GitHub PR #445(PRいただきました。ありがとうございます。)

2020/9/29 2.16.8-jp-2

全般

  • メモリリークの修正GitHub PR #432(PRいただきました。ありがとうございます。)
  • ツールバーのアイコンとファイル比較ウインドウのブックマークアイコン等をDPIに応じて拡大表示するようにした

ファイル比較

  • 1行目を選択した状態で同期ポイントを追加した場合、ファイル比較ウィンドウで比較結果が1行ずれて表示される問題を修正GitHub PR #435(PRいただきました。ありがとうございます。)
  • [表示]メニュー→[空白を表示]を選択すると行末の改行文字まで表示するようになっていたが、タブまたは空白文字のみの表示とし、改行の表示/非表示は新たに追加した[改行を表示]メニューで行うようにした

フォルダ比較

  • コマンドライン引数でフォルダ比較ウインドウに表示する列を指定できるようにした。 ただし、わかりやすくはなく、バージョン列を表示するには、以下のように指定します。
    -cfg "DirView/ColumnOrders=0 1 2 3 4 -1 -1 5 -1 -1 -1 -1 -1 6 7 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1"
    どのような値を設定したらよいかを知るには、フォルダ比較ウインドウの[ツール]→[列の設定]で表示したい列を指定した後、レジストリキー HKEY_CURRENT_USER\SOFTWARE\Thingamahoochie\WinMerge\DirView\ColumnOrders の値を参照して下さい。

パッチの生成ダイアログ

  • 複数のファイルを選択してパッチの生成ダイアログを開いたときに、ダイアログのFile1またはFile2のコンボボックスへの入力が適用されない問題を修正GitHub PR #421(PRいただきました。ありがとうございます。)

2020/8/29 2.16.8-jp-1

ファイル比較

  • 不具合修正: Diffアルゴリズムがdefault以外の場合、[大文字と小文字の違いを区別しない]が機能しない
  • 不具合修正: Diffアルゴリズムがdefault以外の場合、WindowsXP上で差異が表示されないGitHub #420
  • 不具合修正: 選択範囲領域に白い縦線が表示されることがある
  • 不具合修正: 水平マウスホイールが適切に動作していなかった
  • F4キーで移動する範囲をファイル全体に拡張
  • 再スキャン時、マージ時、Undo時等で、水平スクロール位置があまり変わらないようにした
  • [コードページの違いを無視する]が無効の場合、BOM付きUTF-8とBOMなしUTF-8を区別するようにした

テーブル比較

  • 不具合修正: [右端で行を折り返す]が有効の時、一行目のダブルクォーテーションで括られた範囲でEnterキーを押下すると異常終了する
  • 不具合修正: [右端で行を折り返す]が有効の時、行内差異が適切に表示されないことがあった

フォルダ比較

  • 不具合修正: 削除しようとしたファイルが存在しなかった場合のエラーメッセージが適切でなかった
  • 不具合修正: 3-wayフォルダー比較で、[中央/右のみ存在する項目を表示]メニューが正しく動作しないosdn#40672
  • Ctrlキーを押したままフォルダをWinMergeにドラッグしたときの動作を変更。いままでは、常に[サブフォルダを含める]にチェックが入った時と同じ動作となっていましたが、現在の[サブフォルダを含める]チェックボックスのチェック状態と反対の動作をするようにしました。

画像比較

  • 不具合修正: スクロールするとき、ウインドウ枠にゴミが残るGitHub winimerge PR #8(PRいただきました。ありがとうございます。)
  • 不具合修正: リサイズするときのちらつきを低減GitHub winimerge PR #9(PRいただきました。ありがとうございます。)

オプションダイアログ

  • [一般/画像]カテゴリの[画像ファイルとして扱うファイルパターン]等でドロップダウンメニューでパターンの有効・無効を選択できるようにしたGitHub PR #391GitHub PR #397(PRいただきました。ありがとうございます。)
  • ウインドウサイズを変更できるようにした
  • 以下のデフォルト値を変更
    • 比較/一般: コードページの違いを無視する: 無効
    • 比較/フォルダー: 片方にしか存在しないサブフォルダー内も含める: 有効

[WinMergeについて]ダイアログ

  • GitHub issue #316の再修正GitHub PR #392(PRいただきました。ありがとうございます。)
  • 古くて現状を反映していない開発者リストをアスキーアートに変更GitHub PR #394(PRいただきました。ありがとうございます。)

インストーラ

  • 一般のGUIユーザではないユーザでサイレントインストールしたとき、「Internal error: Failed to expand shell folder constant "userdesktop"」エラーが発生する問題の修正の試みGitHubPR #354
  • ユーザ毎インストール用インストーラ(管理者権限不要)を追加(WinMerge-2.16.8-jp-1-PerUser-Setup.exe)

2020/7/29 2.16.6-jp-11

ファイル比較

  • 不具合修正: 過去に検索した文字列(例:abcd)を含む文字列(例:ab)を選択して検索ダイアログを表示すると過去に検索した文字列のほうが検索文字列になってしまうGitHub #368
  • 不具合修正: 選択範囲の置換が機能していない

フォルダ比較

  • 不具合修正: フォルダが選択されている状態で、フォルダに対して実行できないメニュー項目がある場合に、そのメニュー項目を無効にするように変更GitHub PR#366(PRいただきました。ありがとうございます。)
  • 不具合修正: パスワード付きの7zファイルを比較するとフリーズするGitHub #367
  • 不具合修正: 3つフォルダの比較ウインドウで、1項目選択し、[形式を指定して比較]のXML等を選択すると、2つのファイルしかファイルが比較されないGitHub PR#381(PRいただきました。ありがとうございます。)

テーブル比較

  • CSVファイルやTSVファイルの内容を表計算ソフト風に表示する機能を追加。
    ※まだデフォルトで拡張子.csvファイルや.tsvファイルをこの機能で表示するようにしていません。様子を見てデフォルトにするつもりです。
    この機能を使用したい場合、.csvファイル等のファイル比較ウインドウ表示後、[ファイル]→[形式を指定して再比較]→[テーブル]メニューを選択してください。
    または、[編集]→[設定]メニュー→[比較/テーブル]カテゴリで[CSVファイルとして扱うファイルパターン]に *.csv を入力すると、今後すぐに.csvファイルがこの機能で比較・表示されます。

プラグイン

  • IgnoreCommentsC.dllプラグイン: C# と TypeScriptの拡張子に対応GitHub PR#382(PRいただきました。ありがとうございます。)

ドラッグ&ドロップ

  • 不具合修正: 秀丸ファイラーClassic等からファイルをドラッグ&ドロップすると元のファイルが比較されるのではなく、Tempフォルダにコピーされたファイルフォルダが比較されてしまう。(以前WinSCPからのドラッグ&ドロップに対応した修正に問題があったため元に戻しています)

2020/6/29 2.16.6-jp-10

ファイル比較

  • 不具合修正: CompareMSExcelFilesプラグインの画像比較時にエラーが発生osdn#40472
  • 不具合修正: ファイル選択ダイアログを閉じた後、MDI親Windowの内側が再描画されないosdn#40487
  • 不具合修正: 複数行を選択しTABキーを押したとき、選択範囲に含まれる削除行はインデントしないようにしたGitHub #356
  • 不具合修正: 移動ブロック(削除)が間違った色で描画されるGitHub #358
  • 不具合修正: 同じファイルパスを指定して比較したとき警告されなくなっているGitHub #362
  • 不具合修正: 単語単位の移動・選択で"."が単語の境界として扱われない
  • HTMLファイルの文字コード判定でHTML5のcharsetを参照するようにしたosdn#40476
  • 同じファイルパスを指定して比較したとき警告されなくなっているGitHub #362

プラグイン

  • Visioの比較プラグインを追加osdn#40473(PRいただきました。ありがとうございます。)

フィルタ

  • Visual C# loose フィルタの無視するフォルダに bin と obj フォルダを追加GitHub PR #356

2020/5/29 2.16.6-jp-6

ファイル比較

  • 不具合修正: Diffペインで通常編集できないにもかかわらず、D&D、BSキー、Delキーで編集できてしまうosdn#40390
  • 不具合修正: 現在の差異ではない箇所に、検索マーカやユーザ定義マーカがあると、 Diffペインに検索マーカやユーザ定義マーカが表示されるosdn#40407
  • 不具合修正: ファイル比較後、別アプリケーションで一方のファイルを削除またファイル名を変更し、他方はファイルの内容を変更した場合、WinMergeに戻るとクラッシュするGitHub #351
  • 不具合修正: 制御文字が含まれている行の折り返し位置がおかしかった
  • 不具合修正: NUL文字が含まれている行に検索対象文字列があっても検索されない
  • 不具合修正: 横スクロールすると結合文字が含まれている行にゴミが表示されることがある
  • 不具合修正: 矩形選択の範囲外にマウスポインタを移動したときにマウスポインタのアイコンが変わらないことがある
  • 非常に大きなファイルを比較するとメモリ使用量を著しく消費したり、比較時間が長くなるため、64MBを超えるファイルを比較する場合、ファイルの内容は表示せず比較結果だけ表示するか問うようにした

フォルダ比較

  • 不具合修正: フォルダウインドウからファイル名に大文字小文字のみの違いがあるファイルを開き、編集した結果、ファイル比較結果が変わったにもかかわらず、フォルダウインドウに反映されないGitHub #332
  • 不具合修正: 非常に長いファイル名のファイルの削除操作を行っても削除されないことがあるGitHub #339
  • 不具合修正: 表示されるファイル数が非常に多い場合にファイル選択操作が著しく遅くなるGitHub #348
  • フォルダを選択してパッチが生成できるようになった(PullRequestありがとうございます)GitHub PR #331

ファイルまたはフォルダ選択ウインドウ

  • ファイルまたはフォルダのパス入力テキストボックスに存在しないパスが指定されている状態で参照ボタンを押すと、まったく関係ないフォルダを初期表示してしまうのを、親フォルダが存在していれば、親フォルダを初期表示にするようにしたGitHub #346

その他

  • 64bit版のみASLR(アドレス空間配置のランダム化)、CFG(制御フローガード)を有効にしたGitHub #315
  • コマンド引数で展開プラグインを指定できるようにした。(例. WinMergeU.exe file1.xlsx file2.xlsx /unpacker CompareMSExcelFiles.sct)

2020/4/29 2.16.6-jp-4

ファイル比較

  • 不具合修正: バージョン2.16.4より文字幅が広くなっている
  • 不具合修正: editor addin.sct プラグイン: SortAscending, SortDescending での改行の扱いを修正osdn#40266
  • 不具合修正: [改行文字の違いを無視する]が有効になっているにもかかわらず、差分ブロックで改行文字の違いが強調表示される
  • 不具合修正: Diffペインで[ウインドウ]→[分割]メニューをクリックするとクラッシュする
  • 不具合修正: Diffペインで一部の編集操作ができてしまうGitHub #307
  • 不具合修正: 外部アプリケーションによるファイルの文字コードの変更が反映されないGitHub #320
  • ロケーションペインで、移動ブロックどうしを結ぶ斜め線の表示を改善 osdn#39913
  • 単語区切りとみなす記号の初期値に「=」もほしい osdn#40224

フォルダ比較

  • 不具合修正: ファイル名変更中にファイルを削除するとWinMergeが異常終了し、親フォルダが消えてしまう(親フォルダが別名に変更される)。Twitter
  • 不具合修正: テキストファイルがバイナリファイルとみなされてしまう osdn#40296

画像比較

  • 設定ウインドウ→[比較/画像]カテゴリに[フォルダ比較で画像比較を有効にする]チェックボックスを追加。このチェックボックスがチェックされている場合、フォルダ比較時に画像ファイルの内容が(メタデータが違う等で)異なっていても画像として一致していれば、同一とみなすようになります。また、色距離閾値の設定も適用されます。
  • [画像]→[ドラッグモード]メニューに[垂直ワイプ]、[水平ワイプ]メニューを追加

バイナリ比較

  • 不具合修正: オプションFrhed設定のボタン操作で異常終了osdn#40308

HTMLレポート

  • 不具合修正: HTML レポートにマージンの色とテキストの色が適用されない
  • 不具合修正: 行頭の空白文字が表示されない

GUI全般

  • メニューアイコンをDPIに合わせて拡大表示するようにした
  • Solarized Light/Dark カラースキームを追加

2020/3/1 2.16.6-jp-1

ファイル比較

  • ロケーションペインの背景色を現在のエディタウインドウの背景色に近い色になるようにした

画像比較

  • 不具合修正: 画像ファイルの比較で左ドラッグ時のスクロール動作がおかしいosdn#40205
  • 不具合修正: 16bitグレースケール画像が正しく表示できないGitHub #6
  • 不具合修正: ベクタ画像スケーリングメニューで拡大・縮小率を選択しても、選択された拡大・縮小率のメニュー項目が選択状態にならない問題を修正

インストーラ

  • ウィルス誤検出が解決しないため、64bit版のインストーラの作成用InnoSetupのバージョンを6から5に一時的に戻しています。このため、ユーザ毎のインストールができなくなっています。

マニュアル

  • 「オプションとコンフィグレーション」の修正GitHub PR#262

2020/1/29 2.16.4-jp-13

ファイル比較

  • 不具合修正: Diffペインで Enter キーを押すとエラーダイアログが表示されるosdn#39924
  • 不具合修正: ファイルサイズが 4294967296 またはその倍数のファイルを比較するとWinMergeが終了してしまうGitHub PR#257
  • 不具合修正: Redo操作で予期されない文字が入力されてしまうことがある
  • 不具合修正: 置換ダイアログで[すべて置換]ボタンを押しても、カーソルの位置によっては、すべて置換されないことがある
  • タッチパッド 横スクロールに対応GitHub#254

パッチ作成

  • 不具合修正: フォルダ比較ウインドウから片方が存在しないファイルを選択してパッチを作成するとWinMergeがクラッシュする

プロジェクトファイル

  • 不具合修正: ドライブ名なしの\から始まるパスがカレントディレクトリからの相対パスとして扱われてしまう

画像比較

  • SVG, EMF, WMF, PDF ファイルを画像比較できるようにした。(※64bit版WinMergeかつWindows10のみ対応)。デフォルトではテキストファイルとして開くため、SVGファイルなどを画像比較したい場合は、[ファイル]→[形式を指定して再比較]→[画像]を選択してください。また、[オプション]ウインドウ→[比較/画像]カテゴリ→[画像ファイルとして扱うパターン]に ;*.svg を追加すると、SVGファイルがすぐに画像比較されるようになります。

インストーラ

  • 不具合修正: スペルミス修正(TortoiseGIT→TortoiseGit)GitHub PR#246

その他

  • Ctrl+Tabキーでウインドウを切り替える際に切り替え先がリストから選べるようになったGitHub PR#247

2018~2019年までの変更履歴

2014~2017年までの変更履歴

2014年以前の変更履歴

WinMergeはGPL2です。

WinMerge日本語版に関する不具合連絡等は、こちらか、か、以下のメールフォームに記入するか、issueトラッカーへの登録をお願いします。