15.1 Options to patch
Here is a summary of all of the options that GNU patch
accepts. See GNU patch and Traditional patch, for which of these options are
safe to use in older versions of patch.
Multiple single-letter options that do not take an argument can be combined into a single command line argument with only one dash.
- -b
- --backup
Back up the original contents of each file, even if backups would normally not be made. See Backup Files.
- -B prefix
- --prefix=prefix
Prepend prefix to backup file names. See Backup File Names.
- --backup-if-mismatch
Back up the original contents of each file if the patch does not exactly match the file. This is the default behavior when not conforming to POSIX. See Backup Files.
- --binary
Read and write all files in binary mode, except for standard output and /dev/tty. This option has no effect on POSIX-conforming systems like GNU/Linux. On systems where this option makes a difference, the patch should be generated by ‘diff -a --binary’. See Binary Files and Forcing Text Comparisons.
- -c
- --context
Interpret the patch file as a context diff. See Selecting the
patchInput Format.- -d directory
- --directory=directory
Make directory directory the current directory for interpreting both file names in the patch file, and file names given as arguments to other options. See Applying Patches in Other Directories.
- -D name
- --ifdef=name
Make merged if-then-else output using name. See Merging Files with If-then-else.
- --dry-run
Print the results of applying the patches without actually changing any files. See Predicting what
patchwill do.- -e
- --ed
Interpret the patch file as an
edscript. See Selecting thepatchInput Format.- -E
- --remove-empty-files
Remove output files that are empty after the patches have been applied. See Creating and Removing Files.
- -f
- --force
Assume that the user knows exactly what he or she is doing, and do not ask any questions. See Messages and Questions from
patch.- -F lines
- --fuzz=lines
Set the maximum fuzz factor to lines. See Helping
patchFind Inexact Matches.- -g num
- --get=num
If num is positive, get input files from a revision control system as necessary; if zero, do not get the files; if negative, ask the user whether to get the files. See Revision Control.
- --help
Output a summary of usage and then exit.
- -i patchfile
- --input=patchfile
Read the patch from patchfile rather than from standard input. See Options to
patch.- -l
- --ignore-white-space
Let any sequence of blanks (spaces or tabs) in the patch file match any sequence of blanks in the input file. See Applying Patches with Changed White Space.
- -n
- --normal
Interpret the patch file as a normal diff. See Selecting the
patchInput Format.- -N
- --forward
Ignore patches that
patchthinks are reversed or already applied. See also -R. See Applying Reversed Patches.- --no-backup-if-mismatch
Do not back up the original contents of files. This is the default behavior when conforming to POSIX. See Backup Files.
- -o file
- --output=file
Use file as the output file name. See Options to
patch.- -pnumber
- --strip=number
Set the file name strip count to number. See Applying Patches in Other Directories.
- --posix
Conform to POSIX, as if the
POSIXLY_CORRECTenvironment variable had been set. Seepatchand the POSIX Standard.- --quoting-style=word
Use style word to quote names in diagnostics, as if the
QUOTING_STYLEenvironment variable had been set to word. SeepatchQuoting Style.- -r reject-file
- --reject-file=reject-file
Use reject-file as the reject file name. See Reject File Names.
- -R
- --reverse
Assume that this patch was created with the old and new files swapped. See Applying Reversed Patches.
- -s
- --quiet
- --silent
Work silently unless an error occurs. See Messages and Questions from
patch.- -t
- --batch
Do not ask any questions. See Messages and Questions from
patch.- -T
- --set-time
Set the modification and access times of patched files from timestamps given in context diff headers, assuming that the context diff headers use local time. See Updating Timestamps on Patched Files.
- -u
- --unified
Interpret the patch file as a unified diff. See Selecting the
patchInput Format.- -v
- --version
Output version information and then exit.
- -V backup-style
- --version=control=backup-style
Select the naming convention for backup file names. See Backup File Names.
- --verbose
Print more diagnostics than usual. See Messages and Questions from
patch.- -x number
- --debug=number
Set internal debugging flags. Of interest only to
patchpatchers.- -Y prefix
- --basename-prefix=prefix
Prepend prefix to base names of backup files. See Backup File Names.
- -z suffix
- --suffix=suffix
Use suffix as the backup extension instead of ‘.orig’ or ‘~’. See Backup File Names.
- -Z
- --set-utc
Set the modification and access times of patched files from timestamps given in context diff headers, assuming that the context diff headers use UTC. See Updating Timestamps on Patched Files.