mirror of
https://github.com/git/git.git
synced 2026-08-05 15:41:00 +00:00
setup: stop using the_repository in initialize_repository_version()
Stop using `the_repository` in `initialize_repository_version()` and instead accept the repository as a parameter. The injection of `the_repository` is thus bumped one level higher, where callers now pass it in explicitly. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
602254dfb0
commit
779fbcd9eb
29
setup.c
29
setup.c
@@ -2385,7 +2385,8 @@ static int needs_work_tree_config(const char *git_dir, const char *work_tree)
|
||||
return 1;
|
||||
}
|
||||
|
||||
void initialize_repository_version(int hash_algo,
|
||||
void initialize_repository_version(struct repository *repo,
|
||||
int hash_algo,
|
||||
enum ref_storage_format ref_storage_format,
|
||||
int reinit)
|
||||
{
|
||||
@@ -2402,35 +2403,35 @@ void initialize_repository_version(int hash_algo,
|
||||
*/
|
||||
if (hash_algo != GIT_HASH_SHA1_LEGACY ||
|
||||
ref_storage_format != REF_STORAGE_FORMAT_FILES ||
|
||||
the_repository->ref_storage_payload)
|
||||
repo->ref_storage_payload)
|
||||
target_version = GIT_REPO_VERSION_READ;
|
||||
|
||||
if (hash_algo != GIT_HASH_SHA1_LEGACY && hash_algo != GIT_HASH_UNKNOWN)
|
||||
repo_config_set(the_repository, "extensions.objectformat",
|
||||
repo_config_set(repo, "extensions.objectformat",
|
||||
hash_algos[hash_algo].name);
|
||||
else if (reinit)
|
||||
repo_config_set_gently(the_repository, "extensions.objectformat", NULL);
|
||||
repo_config_set_gently(repo, "extensions.objectformat", NULL);
|
||||
|
||||
if (the_repository->ref_storage_payload) {
|
||||
if (repo->ref_storage_payload) {
|
||||
struct strbuf ref_uri = STRBUF_INIT;
|
||||
|
||||
strbuf_addf(&ref_uri, "%s://%s",
|
||||
ref_storage_format_to_name(ref_storage_format),
|
||||
the_repository->ref_storage_payload);
|
||||
repo_config_set(the_repository, "extensions.refstorage", ref_uri.buf);
|
||||
repo->ref_storage_payload);
|
||||
repo_config_set(repo, "extensions.refstorage", ref_uri.buf);
|
||||
strbuf_release(&ref_uri);
|
||||
} else if (ref_storage_format != REF_STORAGE_FORMAT_FILES) {
|
||||
repo_config_set(the_repository, "extensions.refstorage",
|
||||
repo_config_set(repo, "extensions.refstorage",
|
||||
ref_storage_format_to_name(ref_storage_format));
|
||||
} else if (reinit) {
|
||||
repo_config_set_gently(the_repository, "extensions.refstorage", NULL);
|
||||
repo_config_set_gently(repo, "extensions.refstorage", NULL);
|
||||
}
|
||||
|
||||
if (reinit) {
|
||||
struct strbuf config = STRBUF_INIT;
|
||||
struct repository_format repo_fmt = REPOSITORY_FORMAT_INIT;
|
||||
|
||||
repo_common_path_append(the_repository, &config, "config");
|
||||
repo_common_path_append(repo, &config, "config");
|
||||
read_repository_format(&repo_fmt, config.buf);
|
||||
|
||||
if (repo_fmt.v1_only_extensions.nr)
|
||||
@@ -2440,17 +2441,17 @@ void initialize_repository_version(int hash_algo,
|
||||
clear_repository_format(&repo_fmt);
|
||||
}
|
||||
|
||||
repo_config_get_bool(the_repository, "init.defaultSubmodulePathConfig",
|
||||
repo_config_get_bool(repo, "init.defaultSubmodulePathConfig",
|
||||
&default_submodule_path_config);
|
||||
if (default_submodule_path_config) {
|
||||
/* extensions.submodulepathconfig requires at least version 1 */
|
||||
if (target_version == 0)
|
||||
target_version = 1;
|
||||
repo_config_set(the_repository, "extensions.submodulepathconfig", "true");
|
||||
repo_config_set(repo, "extensions.submodulepathconfig", "true");
|
||||
}
|
||||
|
||||
strbuf_addf(&repo_version, "%d", target_version);
|
||||
repo_config_set(the_repository, "core.repositoryformatversion", repo_version.buf);
|
||||
repo_config_set(repo, "core.repositoryformatversion", repo_version.buf);
|
||||
|
||||
strbuf_release(&repo_version);
|
||||
}
|
||||
@@ -2551,7 +2552,7 @@ static int create_default_files(struct repository *repo,
|
||||
adjust_shared_perm(repo, repo_get_git_dir(repo));
|
||||
}
|
||||
|
||||
initialize_repository_version(fmt->hash_algo, fmt->ref_storage_format, reinit);
|
||||
initialize_repository_version(repo, fmt->hash_algo, fmt->ref_storage_format, reinit);
|
||||
|
||||
/* Check filemode trustability */
|
||||
repo_git_path_replace(repo, &path, "config");
|
||||
|
||||
Reference in New Issue
Block a user