Windows で diff パッチを適用するにはどうすればいいですか? 質問する

Windows で diff パッチを適用するにはどうすればいいですか? 質問する

差分パッチを作成できるプログラムは数多くありますが、パッチを適用するのに非常に苦労しています。パッチを配布しようとしているのですが、ユーザーからパッチの適用方法についての質問を受けました。そこで、自分で解決しようとしましたが、まったく見当がつかず、見つけたツールのほとんどはコマンド ラインでした。(コマンド ラインは扱えますが、多くの人が使いやすく使いやすい GUI なしでは困惑するでしょう。そのため、この目的には適していません。)

TortoiseSVN を使ってみました。適用したいパッチがあります。パッチを右クリックすると、TortoiseSVN サブメニューの下に「パッチの適用」というオプションがあります。しかし、空のウィンドウが表示されるだけです。

そこで「開く」を押してみた。そこにはマージと統合差分の適用という2つのオプションがある。(幸いパッチは統合差分形式だ。)しかし適用オプションは機能しない。パッチとフォルダを要求してくる。どういうわけか、パッチを適用するファイル!つまり、TortoiseSVN はまったく機能しません。パッチとファイルを取得して適切に適用する Windows GUI ベースのユーティリティはありますか?

編集: これまでの返信を見ると、Tortoise は、すでにバージョン管理されているファイルの場合のみ正しく実行するようです。しかし、この場合はそうではありません。SVN リポジトリから取得されていないファイルにパッチを適用できるようにする必要があります。SVN は diff を使用し、diff の作成方法と適用方法の両方を知る必要があることをたまたま知っていたので、Tortoise を使ってみました。

ベストアンサー1

パッチを適用する

TortoiseMerge を使用する場合:

  1. 既存のSVNリポジトリディレクトリを見つけて開く
  2. 「merges」という名前の新しいディレクトリが存在しない場合は作成します。
  3. .patchファイルを適用するファイルをコピーします
  4. 次のステップに進む前に、svnリポジトリにADDとCOMMITを実行してください。
  5. マージを右クリックして選択パッチを適用します...
  6. リストからファイルをダブルクリックします
  7. 差分を含むパッチ適用ファイルが右側のペインに表示されます。
  8. そのペインをクリックして保存またはエクスポートファイル->名前を付けて保存...

TortoiseMerge から開く場合の代替画面。以下の画面では、ディレクトリは上記の手順 2 で説明した「merges」ディレクトリを指します。スクリーン

WinMerge GUI のスクリーンショット:スクリーン

おすすめ記事