[PATCH 2/4] apply: apply works outside a repository

Subsystems: documentation, the rest

DORMANTno replies

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

[PATCH 2/4] apply: apply works outside a repository

From: Björn Gustavsson <hidden>
Date: 2016-06-15 22:47:45

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.

Signed-off-by: Björn Gustavsson <redacted>
---
 Documentation/git-apply.txt |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/Documentation/git-apply.txt b/Documentation/git-apply.txt
index 4f791ee..6857a68 100644
--- a/Documentation/git-apply.txt
+++ b/Documentation/git-apply.txt
@@ -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>...::
-- 
1.6.5.3.298.g39add

Re: [PATCH 2/4] apply: apply works outside a repository

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:47:45

Björn Gustavsson [off-list ref] writes:
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help