summaryrefslogtreecommitdiff
path: root/sparse-index.h
diff options
context:
space:
mode:
Diffstat (limited to 'sparse-index.h')
-rw-r--r--sparse-index.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/sparse-index.h b/sparse-index.h
index 633d4fb7e3..59a92d819e 100644
--- a/sparse-index.h
+++ b/sparse-index.h
@@ -3,6 +3,7 @@
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);
@@ -23,4 +24,17 @@ void expand_to_path(struct index_state *istate,
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