aboutsummaryrefslogtreecommitdiff
path: root/dir.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2021-02-10 14:48:32 -0800
committerJunio C Hamano <gitster@pobox.com>2021-02-10 14:48:33 -0800
commit2f794620f5dda37405e4ba9b606061468eceed98 (patch)
tree5536aa9904d3db0128ef6a50a0500a2d258c0d5f /dir.c
parent02fb21617e0da10c6cadb1c55147299456633bca (diff)
parent19a0acc83e4692dc19a5c7f676b79793fd4dcad7 (diff)
downloadgit-2f794620f5dda37405e4ba9b606061468eceed98.tar.xz
Merge branch 'ds/more-index-cleanups'
Cleaning various codepaths up. * ds/more-index-cleanups: t1092: test interesting sparse-checkout scenarios test-lib: test_region looks for trace2 regions sparse-checkout: load sparse-checkout patterns name-hash: use trace2 regions for init repository: add repo reference to index_state fsmonitor: de-duplicate BUG()s around dirty bits cache-tree: extract subtree_pos() cache-tree: simplify verify_cache() prototype cache-tree: clean up cache_tree_update()
Diffstat (limited to 'dir.c')
-rw-r--r--dir.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/dir.c b/dir.c
index d637461da5..d153a63bbd 100644
--- a/dir.c
+++ b/dir.c
@@ -2998,6 +2998,23 @@ void setup_standard_excludes(struct dir_struct *dir)
}
}
+char *get_sparse_checkout_filename(void)
+{
+ return git_pathdup("info/sparse-checkout");
+}
+
+int get_sparse_checkout_patterns(struct pattern_list *pl)
+{
+ int res;
+ char *sparse_filename = get_sparse_checkout_filename();
+
+ pl->use_cone_patterns = core_sparse_checkout_cone;
+ res = add_patterns_from_file_to_list(sparse_filename, "", 0, pl, NULL);
+
+ free(sparse_filename);
+ return res;
+}
+
int remove_path(const char *name)
{
char *slash;