Up: Invoking patch   [Contents][Index]


15.1 Options to patch

Here is a summary of all of the options that GNU patch accepts. See patch and Tradition, 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 Backups.

-B prefix
--prefix=prefix

Prepend prefix to backup file names. See Backup 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 Backups.

--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.

-c
--context

Interpret the patch file as a context diff. See patch Input.

-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 patch Directories.

-D name
--ifdef=name

Make merged if-then-else output using name. See If-then-else.

--dry-run

Print the results of applying the patches without actually changing any files. See Dry Runs.

-e
--ed

Interpret the patch file as an ed script. See patch Input.

-E
--remove-empty-files

Remove output files that are empty after the patches have been applied. See Creating and Removing.

-f
--force

Assume that the user knows exactly what he or she is doing, and do not ask any questions. See patch Messages.

-F lines
--fuzz=lines

Set the maximum fuzz factor to lines. See Inexact.

-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 patch Options.

-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 Changed White Space.

-n
--normal

Interpret the patch file as a normal diff. See patch Input.

-N
--forward

Ignore patches that patch thinks are reversed or already applied. See also -R. See 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 Backups.

-o file
--output=file

Use file as the output file name. See patch Options.

-pnumber
--strip=number

Set the file name strip count to number. See patch Directories.

--posix

Conform to POSIX, as if the POSIXLY_CORRECT environment variable had been set. See patch and POSIX.

--quoting-style=word

Use style word to quote names in diagnostics, as if the QUOTING_STYLE environment variable had been set to word. See patch Quoting Style.

-r reject-file
--reject-file=reject-file

Use reject-file as the reject file name. See Reject Names.

-R
--reverse

Assume that this patch was created with the old and new files swapped. See Reversed Patches.

-s
--quiet
--silent

Work silently unless an error occurs. See patch Messages.

-t
--batch

Do not ask any questions. See patch Messages.

-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 Patching Timestamps.

-u
--unified

Interpret the patch file as a unified diff. See patch Input.

-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 Names.

--verbose

Print more diagnostics than usual. See patch Messages.

-x number
--debug=number

Set internal debugging flags. Of interest only to patch patchers.

-Y prefix
--basename-prefix=prefix

Prepend prefix to base names of backup files. See Backup Names.

-z suffix
--suffix=suffix

Use suffix as the backup extension instead of ‘.orig’ or ‘~’. See Backup 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 Patching Timestamps.


Up: Invoking patch   [Contents][Index]