diffを実行する際、新ファイルを2番目ではなく先に指定してしまうことがあります。こうして作られる差分は「逆向き」です。このパッチを適用するには、patchに--reverse(-R)オプションを指定してください。patchは各ハンクの向きを反転してから適用を試みます。拒否されたハンクも反転した形式で出力されます。
patchは多くの場合、パッチが逆向きだと推測できます。最初のハンクの適用に失敗すると、patchはハンクを反転して適用できるか調べます。適用できればpatchは-Rオプションを有効にするか尋ね、できなければpatchは通常の向きで適用を続けます。ただし、通常形式の diff で最初のコマンドが追加(本来は削除)だと、この方法で逆向きだと検出できません。空のコンテキストはどこにでも一致するため、追加は常に成功するからです。しかし多くのパッチは削除より追加や変更が多く、その逆向きの通常形式 diff は多くの場合削除から始まります。この削除が失敗するとpatchが気づきます。
適用済みのパッチを再度適用すると、patchは逆向きパッチだと考えて、適用を取り消すか尋ねます。これは機能と考えることもできます。誤ってそうした場合に取り消したくなければ、この問いと続く「それでも適用するか」の問いに ‘n’ と答えるか、C-cを入力してpatchのプロセスを終了してください。