2010-11-18 11 views

答えて

17

重要なのはファイルの内容であり、拡張子ではありません。どちらの拡張も、ある種のdiffユーティリティ(diffgit diffgit format-patchsvn diff)が出力を生成したことを示しています。

多くのdiffユーティリティは、patchコマンドで適用できる出力を生成します。右側に一致するパス(ストリップ接頭辞、名前ターゲットディレクトリ)を取得するには、に-dオプションと-pオプションを頻繁に使用する必要があります。オンラインで配布されているファイルの拡張子の1つが表示されている場合は、ほぼ確実にpatchと互換性があることを示しています。

Gitのdiff出力はパッチと互換性がありますが、私はsvnがそうではないと信じています。もちろん、git diffによって生成されるプレーンパッチは、git applyによって最もよく適用され、git format-patchによって生成されるパッチは、git-amと共に使用するように設計されています。

5

違いはありません。 diffユーティリティは、patchを使用して適用されるパッチファイルを生成します。

+1

つまり、 'diff'を使ってパッチを作成するときは、それをfoo.diffまたはfoo.patch(または他のもの)と呼びます。 'patch'プログラムは気にしません。 – eaj

+0

diffファイルが与えられていてソースをパッチするためにそれを使うべきだと言われている場合、それは何を意味しますか?パッチ-d <パッチするソースを含むディレクトリの名前> -p [n] コマンドを使用してパッチを適用できますか? – Sen

+2

@Sen:「パッチを使用することはできますか?」そこでの最善の答えは "試して見てください"です。パッチが適用されない場合、または 'patch'がそれを読み取れない場合、エラーが発生します。それが動作すれば、それは動作します。 – Cascabel

5

パッチはunified diff形式(-u)である、あなたはあなたが行う場合: diff -u oldfile newfile、パッチコマンドラインで を、あなたはどこか別の場所NEWFILEになるためにOLDFILEする違いを適用することができます。

+0

私はこの考えが好きです。パッチはdiffのコレクションです。私は「正しい拡張子」を探していませんでしたが、名前を付けるための標準的な方法かもしれません。これが一般的であるかどうかに関わらず、私にとっては意味があります。私は、単一のファイルのdiffには.diffを使用し、複数のdiffには.patchを使用します。 –

関連する問題