Merge branch 'tg/push-all-in-mirror-forbidden'
[gitweb.git] / Documentation / glossary-content.txt
index 0d2aa48c63856aba78d559445186a9b9e6bddd7d..090c888335d3292331d012a5e9074f970035d83e 100644 (file)
@@ -255,7 +255,7 @@ This commit is referred to as a "merge commit", or sometimes just a
 [[def_object]]object::
        The unit of storage in Git. It is uniquely identified by the
        <<def_SHA1,SHA-1>> of its contents. Consequently, an
-       object can not be changed.
+       object cannot be changed.
 
 [[def_object_database]]object database::
        Stores a set of "objects", and an individual <<def_object,object>> is
@@ -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).
@@ -404,6 +413,8 @@ these forms:
 - "`!ATTR`" requires that the attribute `ATTR` be
   unspecified.
 +
+Note that when matching against a tree object, attributes are still
+obtained from working tree, not from the given tree object.
 
 exclude;;
        After a path matches any non-exclude pathspec, it will be run