From 325c017e48ce82ddde20dc5315126bbb44901f89 Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Mon, 30 Mar 2026 15:17:39 +0200 Subject: [PATCH] setup: stop using `the_repository` in `create_reference_database()` Stop using `the_repository` in `create_reference_database()` 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 Signed-off-by: Junio C Hamano --- builtin/clone.c | 2 +- setup.c | 13 +++++++------ setup.h | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/builtin/clone.c b/builtin/clone.c index 663ef0b524..d864022214 100644 --- a/builtin/clone.c +++ b/builtin/clone.c @@ -1442,7 +1442,7 @@ int cmd_clone(int argc, hash_algo = hash_algo_by_ptr(transport_get_hash_algo(transport)); initialize_repository_version(the_repository, hash_algo, the_repository->ref_storage_format, 1); repo_set_hash_algo(the_repository, hash_algo); - create_reference_database(NULL, 1); + create_reference_database(the_repository, NULL, 1); /* * Before fetching from the remote, download and install bundle diff --git a/setup.c b/setup.c index 1570749b4a..efac2dd7b5 100644 --- a/setup.c +++ b/setup.c @@ -2465,13 +2465,14 @@ static int is_reinit(struct repository *repo) return ret; } -void create_reference_database(const char *initial_branch, int quiet) +void create_reference_database(struct repository *repo, + const char *initial_branch, int quiet) { struct strbuf err = STRBUF_INIT; char *to_free = NULL; - int reinit = is_reinit(the_repository); + int reinit = is_reinit(repo); - if (ref_store_create_on_disk(get_main_ref_store(the_repository), 0, &err)) + if (ref_store_create_on_disk(get_main_ref_store(repo), 0, &err)) die("failed to set up refs db: %s", err.buf); /* @@ -2483,14 +2484,14 @@ void create_reference_database(const char *initial_branch, int quiet) if (!initial_branch) initial_branch = to_free = - repo_default_branch_name(the_repository, quiet); + repo_default_branch_name(repo, quiet); ref = xstrfmt("refs/heads/%s", initial_branch); if (check_refname_format(ref, 0) < 0) die(_("invalid initial branch name: '%s'"), initial_branch); - if (refs_update_symref(get_main_ref_store(the_repository), "HEAD", ref, NULL) < 0) + if (refs_update_symref(get_main_ref_store(repo), "HEAD", ref, NULL) < 0) exit(1); free(ref); } @@ -2827,7 +2828,7 @@ int init_db(const char *git_dir, const char *real_git_dir, &repo_fmt, init_shared_repository); if (!(flags & INIT_DB_SKIP_REFDB)) - create_reference_database(initial_branch, flags & INIT_DB_QUIET); + create_reference_database(the_repository, initial_branch, flags & INIT_DB_QUIET); create_object_directory(the_repository); if (repo_settings_get_shared_repository(the_repository)) { diff --git a/setup.h b/setup.h index c33b675ccf..21737e9bd6 100644 --- a/setup.h +++ b/setup.h @@ -236,7 +236,7 @@ void initialize_repository_version(struct repository *repo, int hash_algo, enum ref_storage_format ref_storage_format, int reinit); -void create_reference_database(const char *initial_branch, int quiet); +void create_reference_database(struct repository *repo, const char *initial_branch, int quiet); /* * NOTE NOTE NOTE!!