 b93fea08d2
			
		
	
	b93fea08d2
	
	
	
		
			
			The `ensure_correct_sparsity` function is intended to provide a means of aligning the in-core index with the sparsity required by the repository settings and other properties of the index. The function first checks whether a sparse index is allowed (per repository & sparse checkout pattern settings). If the sparse index may be used, the index is converted to sparse; otherwise, it is explicitly expanded with `ensure_full_index`. Helped-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Victoria Dye <vdye@github.com> Reviewed-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			26 lines
		
	
	
		
			884 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			884 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef SPARSE_INDEX_H__
 | |
| #define SPARSE_INDEX_H__
 | |
| 
 | |
| struct index_state;
 | |
| #define SPARSE_INDEX_MEMORY_ONLY (1 << 0)
 | |
| int convert_to_sparse(struct index_state *istate, int flags);
 | |
| void ensure_correct_sparsity(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);
 | |
| 
 | |
| #endif
 |