Windows用の優れたGUI差分ツールはいくつもありますが(私はAraxis MergeとkDiff3を使用しています)、それらのどれも(私が見つけることができる)パッチファイルを適用しません。私はそれがこのように機能することを期待します:私はツールでベースファイルとパッチを開きます。左側にベースファイルがあり、右側にパッチを適用するとそのファイルがどのように見えるかを示す差分ビューを取得する必要があります。次に、結果ファイルをどこかに保存できます(おそらく競合をクリーンアップした後)。
これは非常に明白なことのように思えたので、既存のツールがそれを実行しなかったことにショックを受けました。この機能はどこかに存在しますか(Windowsの場合)?
既存のGUI差分プログラムのほとんどがパッチを作成または適用できないのはかなり奇妙なことであることに同意します。両方を実行できる単一のプログラムを私は知りません。
TortoiseMergeは統一された差分を適用できます。これはTortoiseSvnの一部として提供されるスタンドアロンプログラムです。Svnパッケージ全体が必要ない場合は、 ここ からTortoiseDiffとTortoiseMergeだけを入手できます。
使用するのは少し面倒です。それを起動して「UnifiedDiff」を選択すると、パッチファイルへのパスと、パッチが適用されるファイルを見つけることが期待されるディレクトリパスが必要になります(これは、バージョン管理されたファイルで動作することを期待しているためだと思います)。次に、パッチを適用するファイルを示すメインビューが奇妙な小さなウィンドウで開きます。パッチの結果を表示するには、それをダブルクリックする必要があります。パッチの結果を元のファイルまたは新しいファイルに保存できます。
または、次のようにコマンドラインから起動できます。
C:\Users\Bob\>tortoisemerge /mine:file1.txt /diff:patch2.diff /patchpath:"C:\Users\Bob"
これにより、バッチファイルまたはシェル拡張子からの起動が簡単になります。
パッチユーティリティのこのWin32ネイティブポート を使用できます。他のユーティリティの選択肢が豊富で、cygwinなどとは対照的に、DLLは必要ありません。選択した小さな実行可能ファイルを選択して、好きな場所に保存するだけです。
使用法:
patch.exe -i [filename]
ヘルプを取得するには:
patch.exe --help