通常、patchは元の入力ファイルをバックアップへ改名し、名前に拡張子 ‘.orig’ を付けます。‘.orig’ では名前が長すぎる場合は ‘~’ を付けます。1 -z backup-suffixまたは--suffix=backup-suffixオプションを使うと、patchは代わりにbackup-suffixをバックアップの拡張子にします。
SIMPLE_BACKUP_SUFFIX環境変数でも拡張子を指定できますが、オプション指定が優先されます。
patchは GNU Emacs と同じように、番号付きのバックアップも作れます。この方式ではファイルごとに1つだけ残す代わりに、patchは適用のたびに新しいバックアップ名を作ります。たとえばsinkのバックアップは、順にsink.~1~、sink.~2~、sink.~3~などとなります。
-V backup-styleまたは--version-control=backup-styleオプションは、バックアップ名を作る方式を引数に取ります。PATCH_VERSION_CONTROL環境変数でもpatchのバックアップ方式を制御できますが、-Vオプションが優先されます。PATCH_VERSION_CONTROLが未設定ならVERSION_CONTROL環境変数を使います。これらはバックアップ名を制御するもので、リビジョン管理システムの選択には影響しません(リビジョン管理参照)。
これらの環境変数の値と-Vオプションの引数は、GNU Emacs のversion-control変数と同様です(Emacs のバックアップ版については、The GNU Emacs ManualのBackup Names参照)。より説明的な同義語も認識します。有効な値は以下のとおりで、一意に識別できる省略形も使えます。
常に番号付きバックアップを作ります。
すでに番号付きバックアップがあるファイルには番号付き、それ以外には単純なバックアップを作ります。これが既定です。
常に単純なバックアップを作ります。
ディレクトリ名などの接頭辞を付けてバックアップ名を作るようpatchに指定することもできます。--prefix=prefix(-B prefix)オプションはprefixを名前の先頭に付けます。--basename-prefix=prefix(-Y prefix)は代わりに、バックアップ名の最後のファイル名構成要素の先頭にprefixを付けます。たとえば-Y ~なら、dir/file.cのバックアップ名はdir/~file.cです。どちらかの接頭辞オプションを使うと、接尾辞方式のオプションは無視されます。
-oで出力ファイルを指定した場合、バックアップされるのは入力ではなく出力ファイルです。
バックアップ名を制御するオプションは、作成するかどうかには影響しません。たとえば--no-backup-if-mismatchを指定するとバックアップは作られないため、この節のオプションはどれも効果がありません。