# patch – Apply patch files using the GNU patch tool

- Synopsis
- Parameters
- Notes
- Examples
- Status

## Synopsis

- Apply patch files using the GNU patch tool.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---

backup
boolean

Choices:
- no ←
- yes

Passes `--backup --version-control=numbered` to patch, producing numbered backup copies.

basedir path |  | Path of a base directory in which the patch file will be applied. May be omitted when `dest` option is specified, otherwise required.

binary
boolean

Choices:
- no ←
- yes

Setting to `yes` will disable patch's heuristic for transforming CRLF line endings into LF.
Line endings of src and dest must match.
If set to `no`, `patch` will replace CRLF in `src` files on POSIX.

dest path |  | Path of the file on the remote machine to be patched. The names of the files to be patched are usually taken from the patch file, but if there's just one file to be patched it can specified with this option. aliases: originalfile

remote_src
boolean

Choices:
- no ←
- yes

If `no`, it will search for src at originating/master machine, if `yes` it will go to the remote/target machine for the `src`.

src path / required |  | Path of the patch file as accepted by the GNU patch tool. If `remote_src` is 'no', the patch source file is looked up from the module's files directory. aliases: patchfile

state
string
added in 2.6

Choices:
- absent
- present ←

Whether the patch should be applied or reverted.

strip integer | Default: 0 | Number that indicates the smallest prefix containing leading slashes that will be stripped from each file name found in the patch file. For more information see the strip parameter of the GNU patch tool.

## Notes

Note

- This module requires GNU patch utility to be installed on the remote host.

## Examples

    - name: Apply patch to one file
      patch:
        src: /tmp/index.html.patch
        dest: /var/www/index.html

    - name: Apply patch to multiple files under basedir
      patch:
        src: /tmp/customize.patch
        basedir: /var/www
        strip: 1

    - name: Revert patch to one file
      patch:
        src: /tmp/index.html.patch
        dest: /var/www/index.html
        state: absent

## Status

- This module is guaranteed to have backward compatible interface changes going forward. [stableinterface]
- This module is maintained by the Ansible Community. [community]

### Authors

- Jakub Jirutka (@jirutka)
- Luis Alberto Perez Lazaro (@luisperlaz)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.