summaryrefslogtreecommitdiff
path: root/repository.h
diff options
context:
space:
mode:
Diffstat (limited to 'repository.h')
-rw-r--r--repository.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/repository.h b/repository.h
index 040057d..b385ca3 100644
--- a/repository.h
+++ b/repository.h
@@ -23,12 +23,14 @@ enum fetch_negotiation_setting {
FETCH_NEGOTIATION_NONE = 0,
FETCH_NEGOTIATION_DEFAULT = 1,
FETCH_NEGOTIATION_SKIPPING = 2,
+ FETCH_NEGOTIATION_NOOP = 3,
};
struct repo_settings {
int initialized;
int core_commit_graph;
+ int commit_graph_read_changed_paths;
int gc_write_commit_graph;
int fetch_write_commit_graph;
@@ -37,6 +39,8 @@ struct repo_settings {
int pack_use_sparse;
enum fetch_negotiation_setting fetch_negotiation_algorithm;
+
+ int core_multi_pack_index;
};
struct repository {
@@ -67,8 +71,12 @@ struct repository {
*/
struct parsed_object_pool *parsed_objects;
- /* The store in which the refs are held. */
- struct ref_store *refs;
+ /*
+ * The store in which the refs are held. This should generally only be
+ * accessed via get_main_ref_store(), as that will lazily initialize
+ * the ref object.
+ */
+ struct ref_store *refs_private;
/*
* Contains path to often used file names.
@@ -192,4 +200,10 @@ void repo_update_index_if_able(struct repository *, struct lock_file *);
void prepare_repo_settings(struct repository *r);
+/*
+ * Return 1 if upgrade repository format to target_version succeeded,
+ * 0 if no upgrade is necessary, and -1 when upgrade is not possible.
+ */
+int upgrade_repository_format(int target_version);
+
#endif /* REPOSITORY_H */