This sets up the existing backend early, so that other code which reads refs is reading from the right place. Signed-off-by: David Turner <dturner@xxxxxxxxxxxxxxxx> --- config.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/config.c b/config.c index b95ac3a..6cea884 100644 --- a/config.c +++ b/config.c @@ -11,6 +11,7 @@ #include "strbuf.h" #include "quote.h" #include "hashmap.h" +#include "refs.h" #include "string-list.h" #include "utf8.h" @@ -1207,6 +1208,29 @@ int git_config_early(config_fn_t fn, void *data, const char *repo_config) } if (repo_config && !access_or_die(repo_config, R_OK, 0)) { + char *storage = NULL; + + /* + * make sure we always read the ref storage config + * from the extensions section on startup + */ + ret += git_config_from_file(ref_storage_backend_config, + repo_config, &storage); + + register_ref_storage_backends(); + if (!storage) + storage = xstrdup(""); + + if (!*storage || + !strcmp(storage, "files")) { + /* default backend, nothing to do */ + free(storage); + } else { + if (set_ref_storage_backend(ref_storage_backend)) + die(_("Unknown ref storage backend %s"), + ref_storage_backend); + } + ret += git_config_from_file(fn, repo_config, data); found += 1; } -- 2.4.2.767.g62658d5-twtrsrc -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html