In 036876a1067 (config: hide functions using `the_repository` by
default, 2024-08-13) we have moved around a bunch of functions in the
config subsystem that depend on `the_repository`. Those function have
been converted into mere wrappers around their equivalent function that
takes in a repository as parameter, and the intent was that we'll
eventually remove those wrappers to make the dependency on the global
repository variable explicit at the callsite.
Follow through with that intent and remove `git_config_set_gently()`.
All callsites are adjusted so that they use
`repo_config_set_gently(the_repository, ...)` instead. While some
callsites might already have a repository available, this mechanical
conversion is the exact same as the current situation and thus cannot
cause any regression. Those sites should eventually be cleaned up in a
later patch series.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Patrick Steinhardt committedJul 23, 2025 at 16:08 UTCb1659e63e2c647455e877cee0aff64e089d9e2ae
8 files changed+21-26
branch.c
+3-3
index b4811671fc..3dc237adf6 100644--- a/branch.c+++ b/branch.c@@ -116,7 +116,7 @@ static int install_branch_config_multiple_remotes(int flag, const char *local, } strbuf_addf(&key, "branch.%s.remote", local);- if (git_config_set_gently(key.buf, origin ? origin : ".") < 0)+ if (repo_config_set_gently(the_repository, key.buf, origin ? origin : ".") < 0) goto out_err; strbuf_reset(&key);@@ -127,7 +127,7 @@ static int install_branch_config_multiple_remotes(int flag, const char *local, * more than one is provided, use CONFIG_REGEX_NONE to preserve what * we've written so far. */- if (git_config_set_gently(key.buf, NULL) < 0)+ if (repo_config_set_gently(the_repository, key.buf, NULL) < 0) goto out_err; for_each_string_list_item(item, remotes) if (git_config_set_multivar_gently(key.buf, item->string, CONFIG_REGEX_NONE, 0) < 0)@@ -136,7 +136,7 @@ static int install_branch_config_multiple_remotes(int flag, const char *local, if (rebasing) { strbuf_reset(&key); strbuf_addf(&key, "branch.%s.rebase", local);- if (git_config_set_gently(key.buf, "true") < 0)+ if (repo_config_set_gently(the_repository, key.buf, "true") < 0) goto out_err; } strbuf_release(&key);
builtin/clone.c
+1-1
index 34eea11db4..0d7dd5e8ec 100644--- a/builtin/clone.c+++ b/builtin/clone.c@@ -1467,7 +1467,7 @@ int cmd_clone(int argc, warning(_("failed to fetch objects from bundle URI '%s'"), bundle_uri); else if (has_heuristic)- git_config_set_gently("fetch.bundleuri", bundle_uri);+ repo_config_set_gently(the_repository, "fetch.bundleuri", bundle_uri); remote_state_clear(the_repository->remote_state); free(the_repository->remote_state);
builtin/remote.c
+4-4
index 826b2dcfd0..5c4dfc98af 100644--- a/builtin/remote.c+++ b/builtin/remote.c@@ -694,8 +694,8 @@ static void handle_push_default(const char* old_name, const char* new_name) if (push_default.scope >= CONFIG_SCOPE_COMMAND) ; /* pass */ else if (push_default.scope >= CONFIG_SCOPE_LOCAL) {- int result = git_config_set_gently("remote.pushDefault",- new_name);+ int result = repo_config_set_gently(the_repository, "remote.pushDefault",+ new_name); if (new_name && result && result != CONFIG_NOTHING_SET) die(_("could not set '%s'"), "remote.pushDefault"); else if (!new_name && result && result != CONFIG_NOTHING_SET)@@ -934,7 +934,7 @@ static int rm(int argc, const char **argv, const char *prefix, strbuf_reset(&buf); strbuf_addf(&buf, "branch.%s.%s", item->string, *k);- result = git_config_set_gently(buf.buf, NULL);+ result = repo_config_set_gently(the_repository, buf.buf, NULL); if (result && result != CONFIG_NOTHING_SET) die(_("could not unset '%s'"), buf.buf); }@@ -942,7 +942,7 @@ static int rm(int argc, const char **argv, const char *prefix, if (info->push_remote_name && !strcmp(info->push_remote_name, remote->name)) { strbuf_reset(&buf); strbuf_addf(&buf, "branch.%s.pushremote", item->string);- result = git_config_set_gently(buf.buf, NULL);+ result = repo_config_set_gently(the_repository, buf.buf, NULL); if (result && result != CONFIG_NOTHING_SET) die(_("could not unset '%s'"), buf.buf); }
index 07f855c991..c09c5ca194 100644--- a/scalar.c+++ b/scalar.c@@ -103,7 +103,7 @@ static int set_scalar_config(const struct scalar_config *config, int reconfigure if ((reconfigure && config->overwrite_on_reconfigure) || repo_config_get_string(the_repository, config->key, &value)) { trace2_data_string("scalar", the_repository, config->key, "created");- res = git_config_set_gently(config->key, config->value);+ res = repo_config_set_gently(the_repository, config->key, config->value); } else { trace2_data_string("scalar", the_repository, config->key, "exists"); res = 0;@@ -322,7 +322,7 @@ static int set_config(const char *fmt, ...) value = strchr(buf.buf, '='); if (value) *(value++) = '\0';- res = git_config_set_gently(buf.buf, value);+ res = repo_config_set_gently(the_repository, buf.buf, value); strbuf_release(&buf); return res;
setup.c
+2-2
index a06bb921b3..a05c348dcd 100644--- a/setup.c+++ b/setup.c@@ -2236,13 +2236,13 @@ void initialize_repository_version(int hash_algo, git_config_set("extensions.objectformat", hash_algos[hash_algo].name); else if (reinit)- git_config_set_gently("extensions.objectformat", NULL);+ repo_config_set_gently(the_repository, "extensions.objectformat", NULL); if (ref_storage_format != REF_STORAGE_FORMAT_FILES) git_config_set("extensions.refstorage", ref_storage_format_to_name(ref_storage_format)); else if (reinit)- git_config_set_gently("extensions.refstorage", NULL);+ repo_config_set_gently(the_repository, "extensions.refstorage", NULL); if (reinit) { struct strbuf config = STRBUF_INIT;
worktree.c
+2-2
index c34b9eb74e..981a271337 100644--- a/worktree.c+++ b/worktree.c@@ -1013,7 +1013,7 @@ int init_worktree_config(struct repository *r) */ if (r->repository_format_worktree_config) return 0;- if ((res = git_config_set_gently("extensions.worktreeConfig", "true")))+ if ((res = repo_config_set_gently(the_repository, "extensions.worktreeConfig", "true"))) return error(_("failed to set extensions.worktreeConfig setting")); common_config_file = xstrfmt("%s/config", r->commondir);@@ -1077,7 +1077,7 @@ void write_worktree_linking_files(struct strbuf dotgit, struct strbuf gitdir, if (use_relative_paths && !the_repository->repository_format_relative_worktrees) { if (upgrade_repository_format(1) < 0) die(_("unable to upgrade repository format to support relative worktrees"));- if (git_config_set_gently("extensions.relativeWorktrees", "true"))+ if (repo_config_set_gently(the_repository, "extensions.relativeWorktrees", "true")) die(_("unable to set extensions.relativeWorktrees setting")); the_repository->repository_format_relative_worktrees = 1; }