]> git.ipfire.org Git - thirdparty/git.git/blob - sparse-index.h
Merge branch 'gc/branch-recurse-submodules-fix'
[thirdparty/git.git] / sparse-index.h
1 #ifndef SPARSE_INDEX_H__
2 #define SPARSE_INDEX_H__
3
4 struct index_state;
5 #define SPARSE_INDEX_MEMORY_ONLY (1 << 0)
6 int convert_to_sparse(struct index_state *istate, int flags);
7 void ensure_correct_sparsity(struct index_state *istate);
8 void clear_skip_worktree_from_present_files(struct index_state *istate);
9
10 /*
11 * Some places in the codebase expect to search for a specific path.
12 * This path might be outside of the sparse-checkout definition, in
13 * which case a sparse-index may not contain a path for that index.
14 *
15 * Given an index and a path, check to see if a leading directory for
16 * 'path' exists in the index as a sparse directory. In that case,
17 * expand that sparse directory to a full range of cache entries and
18 * populate the index accordingly.
19 */
20 void expand_to_path(struct index_state *istate,
21 const char *path, size_t pathlen, int icase);
22
23 struct repository;
24 int set_sparse_index_config(struct repository *repo, int enable);
25
26 #endif