Normally, patch
creates a backup file if the patch does not
exactly match the original input file, because in that case the
original data might not be recovered if you undo the patch with
‘patch -R’ (see Applying Reversed Patches). However, when conforming
to POSIX, patch
does not create backup files by
default. See patch
and the POSIX Standard.
The --backup (-b) option causes patch
to
make a backup file regardless of whether the patch matches the
original input. The --backup-if-mismatch option causes
patch
to create backup files for mismatches files; this is
the default when not conforming to POSIX. The
--no-backup-if-mismatch option causes patch
to not
create backup files, even for mismatched patches; this is the default
when conforming to POSIX.
When backing up a file that does not exist, an empty, unreadable backup file is created as a placeholder to represent the nonexistent file.