Normally, patch
renames an original input file into a backup file
by appending to its name the extension `.orig', or `~' on
systems that do not support long file names. The `-b
backup-suffix' or `--suffix=backup-suffix' option uses
backup-suffix as the backup extension instead.
Alternately, you can specify the extension for backup files with the
SIMPLE_BACKUP_SUFFIX
environment variable, which the options
override.
patch
can also create numbered backup files the way GNU Emacs
does. With this method, instead of having a single backup of each file,
patch
makes a new backup file name each time it patches a file.
For example, the backups of a file named `sink' would be called,
successively, `sink.~1~', `sink.~2~', `sink.~3~', etc.
The `-V backup-style' or
`--version-control=backup-style' option takes as an argument
a method for creating backup file names. You can alternately control
the type of backups that patch
makes with the
VERSION_CONTROL
environment variable, which the `-V' option
overrides. The value of the VERSION_CONTROL
environment variable
and the argument to the `-V' option are like the GNU Emacs
version-control
variable (see section Backup File Names, for more information on backup versions in
Emacs). They also recognize synonyms that are more descriptive. The
valid values are listed below; unique abbreviations are acceptable.
Alternately, you can tell patch
to prepend a prefix, such as a
directory name, to produce backup file names. The `-B
backup-prefix' or `--prefix=backup-prefix' option makes
backup files by prepending backup-prefix to them. If you use this
option, patch
ignores any `-b' option that you give.
If the backup file already exists, patch
creates a new backup
file name by changing the first lowercase letter in the last component
of the file name into uppercase. If there are no more lowercase letters
in the name, it removes the first character from the name. It repeats
this process until it comes up with a backup file name that does not
already exist.
If you specify the output file with the `-o' option, that file is the one that is backed up, not the input file.