パッチファイルに保存されているパス/ファイル名を完全に無視して、指定したファイルにパッチを適用しますか?

パッチファイルに保存されているパス/ファイル名を完全に無視して、指定したファイルにパッチを適用しますか?

複雑なディレクトリおよびシンボリックリンクシナリオのファイルにパッチを適用する必要があります。どんなに努力してもpatch必要なファイルを見つけることができるようにマッサージする方法はわかりません。この問題を完全に回避する方法はありますか?明確に言う patch.patchファイルのパス/ファイル名を無視し、どのファイルにパッチを適用する必要がありますか?

答え1

patchパッチに単一のファイルに対する変更のみが含まれている場合は、パッチ名の前にそれを指定して、選択したファイルにその変更を適用できます。

patch myfile withthis.patch

パッチのファイル名を無視してwiththis.patchに適用されます。myfile

引用するマニュアルページ:

パッチするファイル名は通常パッチファイルから取得されますが、パッチするファイルが1つしかない場合は、コマンドラインで次のように指定できます。オリジナルファイル

答え2

パッチが1つのファイルにのみ適用される場合は、その場所にパッチを適用したいファイルを指すシンボリックリンクを配置するだけです。(追加ソフトウェアを適用する必要があるのは、そのファイルが存在しないためであると仮定)その後、パッチを適用します。

複数のファイルを指してもこの方法で実行でき、時間がかかります。

関連情報