Main changes from the last round are: - The name is now "sparse checkout" - "git clone --path" => "git clone --narrow-path" - "git checkout --path" => "git checkout --reset-path" - New narrow spec (or "sparse patterns" from now) resembles .gitignore patterns - "git ls-files" now supports more fine-grained listing. It can now list checkout files, no-checkout files or orphaned (previously "overlay") files. --overlay is gone - "git status" shows orphaned entries and remedies - Documentation has been restructured to accompany code changes. Thanks to Jakub, Baz for lots of input. For code changes, significant changes are: [03/14] ls-files: add options to support sparse checkout [10/14] ls-files: support "sparse patterns", used to form sparse checkout areas I hope I have addressed all the issues. If I miss anything, please speak up. Nguy�n Thái Ng�c Duy (14): 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 ls-files: support "sparse patterns", used to form sparse checkout areas unpack_trees(): add support for sparse checkout clone: support sparse checkout with --narrow-path option checkout: add new options to support sparse checkout wt-status: Show orphaned entries in "git status" output .gitignore | 1 + Documentation/git-checkout.txt | 131 ++++++++++++++++++++- Documentation/git-clone.txt | 10 ++- Documentation/git-grep.txt | 4 +- Documentation/git-ls-files.txt | 30 +++++- Documentation/git-update-index.txt | 13 ++ Makefile | 2 +- builtin-checkout.c | 37 ++++++ builtin-clone.c | 13 ++ builtin-grep.c | 7 +- builtin-ls-files.c | 60 +++++++++- builtin-update-index.c | 40 ++++--- cache.h | 69 ++++++++++- diff-lib.c | 5 +- diff.c | 4 +- entry.c | 1 + read-cache.c | 57 +++++++-- t/t2011-checkout-sparse.sh | 108 +++++++++++++++++ t/t2104-update-index-no-checkout.sh | 36 ++++++ t/t3003-ls-files-narrow-match.sh | 39 ++++++ t/t3003/1 | 3 + t/t3003/12 | 6 + t/t3003/clone-escape | 4 + t/t3003/cur-12 | 2 + t/t3003/root-sub-1 | 1 + t/t3003/slash-1 | 1 + t/t3003/sub-1 | 2 + t/t3003/sub-only | 3 + t/t3003/subsub-slash | 3 + 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 ++ t/t5703-clone-narrow.sh | 39 ++++++ test-index-version.c | 14 ++ unpack-trees.c | 210 ++++++++++++++++++++++++++++++++- unpack-trees.h | 22 ++++ wt-status.c | 39 ++++++ wt-status.h | 1 + 46 files changed, 1047 insertions(+), 50 deletions(-) create mode 100755 t/t2011-checkout-sparse.sh create mode 100755 t/t2104-update-index-no-checkout.sh create mode 100755 t/t3003-ls-files-narrow-match.sh create mode 100644 t/t3003/1 create mode 100644 t/t3003/12 create mode 100644 t/t3003/clone-escape create mode 100644 t/t3003/cur-12 create mode 100644 t/t3003/root-sub-1 create mode 100644 t/t3003/slash-1 create mode 100644 t/t3003/sub create mode 100644 t/t3003/sub-1 create mode 100644 t/t3003/sub-only create mode 100644 t/t3003/subsub-slash 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 100755 t/t5703-clone-narrow.sh 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