|
|
|
git-apply(1)
|
|
|
|
============
|
|
|
|
|
|
|
|
NAME
|
|
|
|
----
|
|
|
|
git-apply - Apply patch on a git index file and a work tree
|
|
|
|
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
|
|
|
[verse]
|
|
|
|
'git-apply' [--stat] [--numstat] [--summary] [--check] [--index] [--apply]
|
|
|
|
[--no-add] [--index-info] [--allow-binary-replacement] [-z] [-pNUM]
|
|
|
|
[-CNUM] [--whitespace=<nowarn|warn|error|error-all|strip>]
|
|
|
|
[<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. 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.
|
|
|
|
|
|
|
|
--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.
|
|
|
|
|
|
|
|
-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 most match. By default no context is
|
|
|
|
ever ignored.
|
|
|
|
|
|
|
|
--apply::
|
|
|
|
If you use any of the options marked ``Turns off
|
|
|
|
"apply"'' above, git-apply 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::
|
|
|
|
When applying a patch, which is a git-enhanced patch
|
|
|
|
that was prepared to record the pre- and post-image object
|
|
|
|
name in full, and the path being patched exactly matches
|
|
|
|
the object the patch applies to (i.e. "index" line's
|
|
|
|
pre-image object name is what is in the working tree),
|
|
|
|
and the post-image object is available in the object
|
|
|
|
database, use the post-image object as the patch
|
|
|
|
result. This allows binary files to be patched in a
|
|
|
|
very limited way.
|
|
|
|
|
|
|
|
--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 `git-apply` is used for statistics and not applying a
|
|
|
|
patch, it defaults to `nowarn`.
|
|
|
|
You can use different `<option>` to control this
|
|
|
|
behaviour:
|
|
|
|
+
|
|
|
|
* `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.
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|