Permalink
Cannot retrieve contributors at this time
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
40 lines (34 sloc)
1.51 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#ifndef SPARSE_INDEX_H__ | |
#define SPARSE_INDEX_H__ | |
struct index_state; | |
#define SPARSE_INDEX_MEMORY_ONLY (1 << 0) | |
int is_sparse_index_allowed(struct index_state *istate, int flags); | |
int convert_to_sparse(struct index_state *istate, int flags); | |
void ensure_correct_sparsity(struct index_state *istate); | |
void clear_skip_worktree_from_present_files(struct index_state *istate); | |
/* | |
* Some places in the codebase expect to search for a specific path. | |
* This path might be outside of the sparse-checkout definition, in | |
* which case a sparse-index may not contain a path for that index. | |
* | |
* Given an index and a path, check to see if a leading directory for | |
* 'path' exists in the index as a sparse directory. In that case, | |
* expand that sparse directory to a full range of cache entries and | |
* populate the index accordingly. | |
*/ | |
void expand_to_path(struct index_state *istate, | |
const char *path, size_t pathlen, int icase); | |
struct repository; | |
int set_sparse_index_config(struct repository *repo, int enable); | |
struct pattern_list; | |
/** | |
* Scan the given index and compare its entries to the given pattern list. | |
* If the index is sparse and the pattern list uses cone mode patterns, | |
* then modify the index to contain the all of the file entries within that | |
* new pattern list. This expands sparse directories only as far as needed. | |
* | |
* If the pattern list is NULL or does not use cone mode patterns, then the | |
* index is expanded to a full index. | |
*/ | |
void expand_index(struct index_state *istate, struct pattern_list *pl); | |
#endif |