互換性の問題
POSIX規格は、GNU patchとは異なる動作を規定しています。
- POSIXの
patchでは、-bを指定しなければ、不一致があってもバックアップを作成しません。GNUpatchでは、--no-backup-if-mismatchを指定するか、--posixまたは環境変数POSIXLY_CORRECTの設定によってPOSIXに準拠させると、この動作になります。 - パッチのヘッダーから適用対象のファイル名を推測するとき、
patchは複雑な方法を使用し、必要に応じてPOSIXに準拠させられます。コンテキスト差分のヘッダーとIndex:行にあるファイル名が、先頭部分を取り除いた後にすべて同じになる場合、この方法はPOSIXと同等です。各ヘッダーのファイル名がすべて同じ数のスラッシュを含んでいれば、通常、そのパッチには互換性があります。 - GNU
patchまたはPOSIXに準拠するpatchを使うすべての人が実行できる手順を送る場合、使用するオプションは次のものに限定してください。次の一覧の空白は省略できます。-b -c -d dir -D define -e -i patchfile -l -n -N -o outfile -p num -R -r rejectfile -u