Code

Merge branch 'dz/mailinfo'
[git.git] / Documentation / git-apply.txt
index c76cfffdc6cd9982aa02e34b2b09fc22897e7402..065ba1bf24828d8dfbb4495068621aae8e57e31a 100644 (file)
@@ -3,7 +3,7 @@ git-apply(1)
 
 NAME
 ----
-git-apply - Apply patch on a git index file and a work tree
+git-apply - Apply a patch on a git index file and a working tree
 
 
 SYNOPSIS
@@ -33,8 +33,9 @@ OPTIONS
 --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".
+       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
@@ -95,6 +96,16 @@ OPTIONS
        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
@@ -110,15 +121,10 @@ OPTIONS
        deletion part but not addition part.
 
 --allow-binary-replacement, --binary::
-       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.
+       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
@@ -145,7 +151,7 @@ OPTIONS
 * `strip` outputs warnings for a few such errors, strips out the
   trailing whitespaces and applies the patch.
 
---inacurate-eof::
+--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