[RFC PATCH v3 0/8] Sparse checkout
- From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
- Date
- Aug 11, 2009, 15:43 UTC
- Message-ID
- <1250005446-12047-1-git-send-email-pclouds@gmail.com>
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 patchDocumentation/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