Add a definition for what overlay means in the context of git, to
clarify the recently introduced overlay-mode in git checkout.

Helped-by: Elijah Newren <new...@gmail.com>
Helped-by: Junio C Hamano <gits...@pobox.com>
Signed-off-by: Thomas Gummerer <t.gumme...@gmail.com>
---

v3 incorporates Junios suggestions from [*1*], and clarifies that this
only applies to checking out from the index or a tree-ish, and
clarifies that the files are updated like in the destination directory
of 'cp -R'.  I thought of making the same clarification for 'rsync
--delete' as well, however I think with it being explicitly specified
for 'cp -R', readers should be able to deduce that we are talking
about the destination directory there as well.

*1*: <xmqq5zsnh7my....@gitster-ct.c.googlers.com>

 Documentation/glossary-content.txt | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/Documentation/glossary-content.txt 
b/Documentation/glossary-content.txt
index 023ca95e7c..0f29075551 100644
--- a/Documentation/glossary-content.txt
+++ b/Documentation/glossary-content.txt
@@ -287,6 +287,15 @@ This commit is referred to as a "merge commit", or 
sometimes just a
        origin/name-of-upstream-branch, which you can see using
        `git branch -r`.
 
+[[def_overlay]]overlay::
+       Only update and add files to the working directory, but don't
+       delete them, similar to how 'cp -R' would update the contents
+       in the destination directory.  This is the default mode in a
+       <<def_checkout,checkout>> when checking out files from the
+       <<def_index,index>> or a <<def_tree-ish,tree-ish>>.  In
+       contrast, no-overlay mode also deletes tracked files not
+       present in the source, similar to 'rsync --delete'.
+
 [[def_pack]]pack::
        A set of objects which have been compressed into one file (to save space
        or to transmit them efficiently).
-- 
2.21.0.225.g810b269d1a

Reply via email to