| git-apply(1) |
| ============ |
| |
| NAME |
| ---- |
| git-apply - Apply a patch on a git index file and a working tree |
| |
| |
| SYNOPSIS |
| -------- |
| [verse] |
| 'git-apply' [--stat] [--numstat] [--summary] [--check] [--index] [--apply] |
| [--no-add] [--index-info] [--allow-binary-replacement | --binary] |
| [-R | --reverse] [--reject] [-z] [-pNUM] [-CNUM] [--inaccurate-eof] |
| [--whitespace=<nowarn|warn|error|error-all|strip>] [--exclude=PATH] |
| [--cached] [--verbose] [<patch>...] |
| |
| DESCRIPTION |
| ----------- |
| Reads supplied diff output and applies it on a git index file |
| and a work tree. |
| |
| OPTIONS |
| ------- |
| <patch>...:: |
| The files to read patch from. '-' can be used to read |
| from the standard input. |
| |
| --stat:: |
| Instead of applying the patch, output diffstat for the |
| input. Turns off "apply". |
| |
| --numstat:: |
| Similar to \--stat, but shows number of added and |
| deleted lines in decimal notation and pathname without |
| abbreviation, to make it more machine friendly. For |
| binary files, outputs two `-` instead of saying |
| `0 0`. Turns off "apply". |
| |
| --summary:: |
| Instead of applying the patch, output a condensed |
| summary of information obtained from git diff extended |
| headers, such as creations, renames and mode changes. |
| Turns off "apply". |
| |
| --check:: |
| Instead of applying the patch, see if the patch is |
| applicable to the current work tree and/or the index |
| file and detects errors. Turns off "apply". |
| |
| --index:: |
| When --check is in effect, or when applying the patch |
| (which is the default when none of the options that |
| disables it is in effect), make sure the patch is |
| applicable to what the current index file records. If |
| the file to be patched in the work tree is not |
| up-to-date, it is flagged as an error. This flag also |
| causes the index file to be updated. |
| |
| --cached:: |
| Apply a patch without touching the working tree. Instead, take the |
| cached data, apply the patch, and store the result in the index, |
| without using the working tree. This implies '--index'. |
| |
| --index-info:: |
| Newer git-diff output has embedded 'index information' |
| for each blob to help identify the original version that |
| the patch applies to. When this flag is given, and if |
| the original version of the blob is available locally, |
| outputs information about them to the standard output. |
| |
| -R, --reverse:: |
| Apply the patch in reverse. |
| |
| --reject:: |
| For atomicity, gitlink:git-apply[1] by default fails the whole patch and |
| does not touch the working tree when some of the hunks |
| do not apply. This option makes it apply |
| the parts of the patch that are applicable, and leave the |
| rejected hunks in corresponding *.rej files. |
| |
| -z:: |
| When showing the index information, do not munge paths, |
| but use NUL terminated machine readable format. Without |
| this flag, the pathnames output will have TAB, LF, and |
| backslash characters replaced with `\t`, `\n`, and `\\`, |
| respectively. |
| |
| -p<n>:: |
| Remove <n> leading slashes from traditional diff paths. The |
| default is 1. |
| |
| -C<n>:: |
| Ensure at least <n> lines of surrounding context match before |
| and after each change. When fewer lines of surrounding |
| context exist they all must match. By default no context is |
| ever ignored. |
| |
| --unidiff-zero:: |
| By default, gitlink:git-apply[1] expects that the patch being |
| applied is a unified diff with at least one line of context. |
| This provides good safety measures, but breaks down when |
| applying a diff generated with --unified=0. To bypass these |
| checks use '--unidiff-zero'. |
| + |
| Note, for the reasons stated above usage of context-free patches are |
| discouraged. |
| |
| --apply:: |
| If you use any of the options marked "Turns off |
| 'apply'" above, gitlink:git-apply[1] reads and outputs the |
| information you asked without actually applying the |
| patch. Give this flag after those flags to also apply |
| the patch. |
| |
| --no-add:: |
| When applying a patch, ignore additions made by the |
| patch. This can be used to extract common part between |
| two files by first running `diff` on them and applying |
| the result with this option, which would apply the |
| deletion part but not addition part. |
| |
| --allow-binary-replacement, --binary:: |
| Historically we did not allow binary patch applied |
| without an explicit permission from the user, and this |
| flag was the way to do so. Currently we always allow binary |
| patch application, so this is a no-op. |
| |
| --exclude=<path-pattern>:: |
| Don't apply changes to files matching the given path pattern. This can |
| be useful when importing patchsets, where you want to exclude certain |
| files or directories. |
| |
| --whitespace=<option>:: |
| When applying a patch, detect a new or modified line |
| that ends with trailing whitespaces (this includes a |
| line that solely consists of whitespaces). By default, |
| the command outputs warning messages and applies the |
| patch. |
| When gitlink:git-apply[1] is used for statistics and not applying a |
| patch, it defaults to `nowarn`. |
| You can use different `<option>` to control this |
| behavior: |
| + |
| * `nowarn` turns off the trailing whitespace warning. |
| * `warn` outputs warnings for a few such errors, but applies the |
| patch (default). |
| * `error` outputs warnings for a few such errors, and refuses |
| to apply the patch. |
| * `error-all` is similar to `error` but shows all errors. |
| * `strip` outputs warnings for a few such errors, strips out the |
| trailing whitespaces and applies the patch. |
| |
| --inaccurate-eof:: |
| Under certain circumstances, some versions of diff do not correctly |
| detect a missing new-line at the end of the file. As a result, patches |
| created by such diff programs do not record incomplete lines |
| correctly. This option adds support for applying such patches by |
| working around this bug. |
| |
| --verbose:: |
| Report progress to stderr. By default, only a message about the |
| current patch being applied will be printed. This option will cause |
| additional information to be reported. |
| |
| Configuration |
| ------------- |
| |
| apply.whitespace:: |
| When no `--whitespace` flag is given from the command |
| line, this configuration item is used as the default. |
| |
| |
| Author |
| ------ |
| Written by Linus Torvalds <torvalds@osdl.org> |
| |
| Documentation |
| -------------- |
| Documentation by Junio C Hamano |
| |
| GIT |
| --- |
| Part of the gitlink:git[7] suite |
| |