return (current & ~negative) | positive;
}
-static int git_default_core_config(const char *var, const char *value,
- const struct config_context *ctx, void *cb)
+int git_default_core_config(const char *var, const char *value,
+ const struct config_context *ctx, void *cb)
{
+ struct repo_config_values *cfg = repo_config_values(the_repository);
+
/* This needs a better name */
if (!strcmp(var, "core.filemode")) {
trust_executable_bit = git_config_bool(var, value);
int git_default_config(const char *, const char *,
const struct config_context *, void *);
+int git_default_core_config(const char *var, const char *value,
+ const struct config_context *ctx, void *cb);
+ void repo_config_values_init(struct repo_config_values *cfg);
+
/*
* TODO: All the below state either explicitly or implicitly relies on
* `the_repository`. We should eventually get rid of these and make the
/* Repository's compatibility hash algorithm. */
const struct git_hash_algo *compat_hash_algo;
+ /* Repository's config values parsed by git_default_config() */
+ struct repo_config_values config_values_private_;
+
/* Repository's reference storage format, as serialized on disk. */
enum ref_storage_format ref_storage_format;
+ /*
+ * Reference storage information as needed for the backend. This contains
+ * only the payload from the reference URI without the schema.
+ */
+ char *ref_storage_payload;
/* A unique-id for tracing purposes. */
int trace2_repo_id;