diffutils: Backup Names

 
 10.9 Backup File Names
 ======================
 
 Normally, 'patch' renames an original input file into a backup file by
 appending to its name the extension '.orig', or '~' if using '.orig'
 would make the backup file name too long.(1)  The '-z BACKUP-SUFFIX' or
 '--suffix=BACKUP-SUFFIX' option causes 'patch' to use 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
 'PATCH_VERSION_CONTROL' environment variable, which the '-V' option
 overrides.  If 'PATCH_VERSION_CONTROL' is not set, the 'VERSION_CONTROL'
 environment variable is used instead.  Please note that these options
 and variables control backup file names; they do not affect the choice
 of revision control system (⇒Revision Control).
 
    The values of these environment variables and the argument to the
 '-V' option are like the GNU Emacs 'version-control' variable (⇒
 (emacs)Backup 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.
 
 't'
 'numbered'
      Always make numbered backups.
 
 'nil'
 'existing'
      Make numbered backups of files that already have them, simple
      backups of the others.  This is the default.
 
 'never'
 'simple'
      Always make simple backups.
 
    You can also tell 'patch' to prepend a prefix, such as a directory
 name, to produce backup file names.  The '--prefix=PREFIX' ('-B PREFIX')
 option makes backup files by prepending PREFIX to them.  The
 '--basename-prefix=PREFIX' ('-Y PREFIX') prepends PREFIX to the last
 file name component of backup file names instead; for example, '-Y ~'
 causes the backup name for 'dir/file.c' to be 'dir/~file.c'.  If you use
 either of these prefix options, the suffix-based options are ignored.
 
    If you specify the output file with the '-o' option, that file is the
 one that is backed up, not the input file.
 
    Options that affect the names of backup files do not affect whether
 backups are made.  For example, if you specify the
 '--no-backup-if-mismatch' option, none of the options described in this
 section have any affect, because no backups are made.
 
    ---------- Footnotes ----------
 
    (1) A coding error in GNU 'patch' version 2.5.4 causes it to always
 use '~', but this should be fixed in the next release.