apply: apply works outside a repository
PATCH 2/4 apply: apply works outside a repository
The documentation for 'git apply' talks about applying a patch/diff to the index and to the working tree, which seems to imply that it will not work outside a git repository.
Actually 'git patch' works outside a repository (which can be useful especially for applying binary or rename patches that the standard "patch" utility cannot handle), so the documentation should mention it.
--- Documentation/git-apply.txt | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
Documentation/git-apply.txt +4 -0
@@ -23,6 +23,10 @@ DESCRIPTION Reads supplied 'diff' output and applies it on a git index file and a work tree. +'git-apply' can also be used outside a git repository as long +as no options that require a git repository are given +(e.g. `--index` or `--cached`). + OPTIONS ------- <patch>...::
Signature · 1 line
1.6.5.3.298.g39add
Quoted 3 lines · Björn Gustavsson
The documentation for 'git apply' talks about applying a patch/diff to the index and to the working tree, which seems to imply that it will not work outside a git repository.
Thanks. I think the headline should also be reworded. It currently reads:
Apply a patch on a git index file and/or a working tree
but historically and still in real life practices, when you use apply (as opposed to am), you apply primarily to the files and optionally to the index, so this should read something like:
Apply a patch to files and/or to the index
We could say "to files in the work tree", but that would give a wrong impression that the files we talk about must be in a directory that is part of the work tree of some repository, so it probably is better without it.
The same comment applies to the beginning of the DESCRIPTION section. I actually think your added text should reword the current two-liner there, instead of being added at the bottom. Here is my attempt.
Reads supplied diff output (iow "a patch"), and applies it to files. With --index (--cache) options, the patch is also (only) applied to the index respectively. Without these options, the command applies the patch only to files, and does not require them to be in a git repository.