git-read-tree.txt: correct sparse-checkout and skip-worktree description

The description of .git/info/sparse-checkout and
skip-worktree is exactly the opposite of what is true, which is:

If a file matches a pattern in sparse-checkout, then (it is to be
checked out and therefore) skip-worktree is unset for that file;
otherwise, it is set (so that it is not checked out).

Currently, the opposite is documented, and (consistently) read-tree's
behavior with respect to bit flips is descibed incorrectly.

Fix it.

In hindsight, it would have been much better to have a "sparse-ignore"
or "sparse-skip" file so that an empty file would mean a full checkout,
and the file logic would be analogous to that of .gitignore, excludes
and skip-worktree.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Michael J Gruber 2011-09-21 09:48:38 +02:00 коммит произвёл Junio C Hamano
Родитель cc1a2b66e9
Коммит 1f1f575ebe
1 изменённых файлов: 4 добавлений и 4 удалений

Просмотреть файл

@ -388,12 +388,12 @@ directory update. `$GIT_DIR/info/sparse-checkout` is used to
define the skip-worktree reference bitmap. When 'git read-tree' needs define the skip-worktree reference bitmap. When 'git read-tree' needs
to update the working directory, it resets the skip-worktree bit in the index to update the working directory, it resets the skip-worktree bit in the index
based on this file, which uses the same syntax as .gitignore files. based on this file, which uses the same syntax as .gitignore files.
If an entry matches a pattern in this file, skip-worktree will be If an entry matches a pattern in this file, skip-worktree will not be
set on that entry. Otherwise, skip-worktree will be unset. set on that entry. Otherwise, skip-worktree will be set.
Then it compares the new skip-worktree value with the previous one. If Then it compares the new skip-worktree value with the previous one. If
skip-worktree turns from unset to set, it will add the corresponding skip-worktree turns from set to unset, it will add the corresponding
file back. If it turns from set to unset, that file will be removed. file back. If it turns from unset to set, that file will be removed.
While `$GIT_DIR/info/sparse-checkout` is usually used to specify what While `$GIT_DIR/info/sparse-checkout` is usually used to specify what
files are in, you can also specify what files are _not_ in, using files are in, you can also specify what files are _not_ in, using