Continuing the endless RFCs of sparse checkout, this series drops the sparse hook in favor of .git/info/sparse. Changes from the last version Prevent diff machinery from examining assume-unchanged entries on worktree "if (ce_uptodate(ce) || CE_VALID)" is updated, as well as the corresponding test Avoid writing to buffer in add_excludes_from_file_1() Splitted out from the old second patch, as suggested by Johannes Read .gitignore from index if it is assume-unchanged read_index_data() is renamed. Commit message mentions add_excludes_from_file() excluded_1(): support exclude "directories" in index This one is new because index does not have "directory", more comments in the patch dir.c: export excluded_1() and add_excludes_from_file_1() New too, exported for use in unpack-trees.c unpack-trees.c: generalize verify_* functions Splitted out of the old third patch for easier review Support sparse checkout in unpack_trees() and read-tree Read .git/info/sparse instead of .git/hooks/sparse --sparse for porcelains RFC patch Documentation/technical/api-directory-listing.txt | 3 + builtin-checkout.c | 4 + builtin-clean.c | 5 +- builtin-ls-files.c | 4 +- builtin-merge.c | 5 +- builtin-read-tree.c | 4 +- cache.h | 3 + diff-lib.c | 6 +- dir.c | 101 +++++++++++------ dir.h | 4 + git-pull.sh | 6 +- t/t1009-read-tree-sparse.sh | 47 ++++++++ t/t3001-ls-files-others-exclude.sh | 22 ++++ t/t4039-diff-assume-unchanged.sh | 31 ++++++ t/t7300-clean.sh | 19 ++++ unpack-trees.c | 121 ++++++++++++++++++++- unpack-trees.h | 3 + 17 files changed, 340 insertions(+), 48 deletions(-) create mode 100755 t/t1009-read-tree-sparse.sh create mode 100755 t/t4039-diff-assume-unchanged.sh -- 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