This is the first half of the series, making git ready for sparse checkout. The only difference from the last (first half) sent series is safeguard bitmask fix in 1/9 Nguy�n Thái Ng�c Duy (9): Extend index to save more flags Introduce CE_NO_CHECKOUT bit ls-files: add options to support sparse checkout update-index: refactor mark_valid() in preparation for new options update-index: add --checkout/--no-checkout to update CE_NO_CHECKOUT bit ls-files: Add tests for --sparse and friends Prevent diff machinery from examining worktree outside sparse checkout checkout_entry(): CE_NO_CHECKOUT on checked out entries. grep: skip files outside sparse checkout area .gitignore | 1 + Documentation/git-checkout.txt | 34 +++++++++++++++++ Documentation/git-grep.txt | 4 +- Documentation/git-ls-files.txt | 24 +++++++++++- Documentation/git-update-index.txt | 13 ++++++ Makefile | 2 +- builtin-grep.c | 7 +++- builtin-ls-files.c | 41 ++++++++++++++++++-- builtin-update-index.c | 40 ++++++++++++------- cache.h | 66 +++++++++++++++++++++++++++++++-- diff-lib.c | 5 +- diff.c | 4 +- entry.c | 1 + read-cache.c | 57 ++++++++++++++++++++++------ t/t2104-update-index-no-checkout.sh | 36 ++++++++++++++++++ t/t3004-ls-files-sparse.sh | 40 ++++++++++++++++++++ t/t3004/cached.expected | 5 ++ t/t3004/deleted.expected | 1 + t/t3004/everything.expected | 10 +++++ t/t3004/modified.expected | 2 + t/t3004/no-checkout.expected | 2 + t/t3004/orphaned-no-checkout.expected | 3 + t/t3004/orphaned.expected | 1 + t/t3004/others.expected | 2 + t/t3004/sparse-cached.expected | 3 + t/t3004/sparse-everything.expected | 11 +++++ test-index-version.c | 14 +++++++ 27 files changed, 385 insertions(+), 44 deletions(-) create mode 100755 t/t2104-update-index-no-checkout.sh create mode 100755 t/t3004-ls-files-sparse.sh create mode 100644 t/t3004/cached.expected create mode 100644 t/t3004/deleted.expected create mode 100644 t/t3004/everything.expected create mode 100644 t/t3004/modified.expected create mode 100644 t/t3004/no-checkout.expected create mode 100644 t/t3004/orphaned-no-checkout.expected create mode 100644 t/t3004/orphaned.expected create mode 100644 t/t3004/others.expected create mode 100644 t/t3004/sparse-cached.expected create mode 100644 t/t3004/sparse-everything.expected create mode 100644 test-index-version.c -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html