]> git.ipfire.org Git - thirdparty/git.git/commitdiff
config: drop `git_config_set_in_file_gently()` wrapper
authorPatrick Steinhardt <ps@pks.im>
Wed, 23 Jul 2025 14:08:36 +0000 (16:08 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 23 Jul 2025 15:15:21 +0000 (08:15 -0700)
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_in_file_gently()`. All callsites are adjusted so that
they use `repo_config_set_in_file_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>
builtin/config.c
builtin/submodule--helper.c
builtin/worktree.c
config.h
sequencer.c
submodule-config.c
submodule.c
worktree.c

index af5d79eadc08040458a8bfb2d4e17f0bb3d5f4cb..f7e718c67025c59b1ad05976291ab471bee4c865 100644 (file)
@@ -970,8 +970,8 @@ static int cmd_config_set(int argc, const char **argv, const char *prefix,
                                                             argv[0], value, value_pattern,
                                                             comment, flags);
        } else {
-               ret = git_config_set_in_file_gently(location_opts.source.file,
-                                                   argv[0], comment, value);
+               ret = repo_config_set_in_file_gently(the_repository, location_opts.source.file,
+                                                    argv[0], comment, value);
                if (ret == CONFIG_NOTHING_SET)
                        error(_("cannot overwrite multiple values with a single value\n"
                        "       Use a regexp, --add or --replace-all to change %s."), argv[0]);
@@ -1014,8 +1014,8 @@ static int cmd_config_unset(int argc, const char **argv, const char *prefix,
                                                             argv[0], NULL, value_pattern,
                                                             NULL, flags);
        else
-               ret = git_config_set_in_file_gently(location_opts.source.file, argv[0],
-                                                   NULL, NULL);
+               ret = repo_config_set_in_file_gently(the_repository, location_opts.source.file, argv[0],
+                                                    NULL, NULL);
 
        location_options_release(&location_opts);
        return ret;
@@ -1296,7 +1296,7 @@ static int cmd_config_actions(int argc, const char **argv, const char *prefix)
                check_write(&location_opts.source);
                check_argc(argc, 2, 2);
                value = normalize_value(argv[0], argv[1], display_opts.type, &default_kvi);
-               ret = git_config_set_in_file_gently(location_opts.source.file, argv[0], comment, value);
+               ret = repo_config_set_in_file_gently(the_repository, location_opts.source.file, argv[0], comment, value);
                if (ret == CONFIG_NOTHING_SET)
                        error(_("cannot overwrite multiple values with a single value\n"
                        "       Use a regexp, --add or --replace-all to change %s."), argv[0]);
@@ -1354,8 +1354,8 @@ static int cmd_config_actions(int argc, const char **argv, const char *prefix)
                                                                     argv[0], NULL, argv[1],
                                                                     NULL, flags);
                else
-                       ret = git_config_set_in_file_gently(location_opts.source.file,
-                                                           argv[0], NULL, NULL);
+                       ret = repo_config_set_in_file_gently(the_repository, location_opts.source.file,
+                                                            argv[0], NULL, NULL);
        }
        else if (actions == ACTION_UNSET_ALL) {
                check_write(&location_opts.source);
index 710a2a2004ebc3f68074dec1d963ccee133ab401..28f34f7bc183d2f28125be8d713359da83a35904 100644 (file)
@@ -1280,7 +1280,7 @@ static void sync_submodule(const char *path, const char *prefix,
        submodule_to_gitdir(the_repository, &sb, path);
        strbuf_addstr(&sb, "/config");
 
-       if (git_config_set_in_file_gently(sb.buf, remote_key, NULL, sub_origin_url))
+       if (repo_config_set_in_file_gently(the_repository, sb.buf, remote_key, NULL, sub_origin_url))
                die(_("failed to update remote for submodule '%s'"),
                      path);
 
index b1306248dec80bcf25f0f24cea6f26fde8f8968f..fd517c82c444a4115ea8931ce387377aebe5ab90 100644 (file)
@@ -384,8 +384,8 @@ static void copy_filtered_worktree_config(const char *worktree_git_dir)
                        error(_("failed to unset '%s' in '%s'"),
                                "core.bare", to_file);
                if (!git_configset_get(&cs, "core.worktree") &&
-                       git_config_set_in_file_gently(to_file,
-                                                       "core.worktree", NULL, NULL))
+                       repo_config_set_in_file_gently(the_repository, to_file,
+                                                      "core.worktree", NULL, NULL))
                        error(_("failed to unset '%s' in '%s'"),
                                "core.worktree", to_file);
 
index 43d06c279e3ebb4c5a0d108db3a3179f5e2d1406..4e658e47f0a25a67b398251329e9e0d20500a6c5 100644 (file)
--- a/config.h
+++ b/config.h
@@ -734,16 +734,6 @@ static inline int git_config_get_pathname(const char *key, char **dest)
        return repo_config_get_pathname(the_repository, key, dest);
 }
 
-static inline int git_config_set_in_file_gently(
-       const char *config_filename,
-       const char *key,
-       const char *comment,
-       const char *value)
-{
-       return repo_config_set_in_file_gently(the_repository, config_filename,
-                                             key, comment, value);
-}
-
 static inline int git_config_set_multivar_in_file_gently(
        const char *config_filename,
        const char *key, const char *value,
index f8d9bb69df8263fd02ea1bcf1b9b5924d19b41e8..8acb699f4f2f60ee5445c75725f86b7868c29512 100644 (file)
@@ -3650,57 +3650,57 @@ static int save_opts(struct replay_opts *opts)
        int res = 0;
 
        if (opts->no_commit)
-               res |= git_config_set_in_file_gently(opts_file,
+               res |= repo_config_set_in_file_gently(the_repository, opts_file,
                                        "options.no-commit", NULL, "true");
        if (opts->edit >= 0)
-               res |= git_config_set_in_file_gently(opts_file, "options.edit", NULL,
+               res |= repo_config_set_in_file_gently(the_repository, opts_file, "options.edit", NULL,
                                                     opts->edit ? "true" : "false");
        if (opts->allow_empty)
-               res |= git_config_set_in_file_gently(opts_file,
+               res |= repo_config_set_in_file_gently(the_repository, opts_file,
                                        "options.allow-empty", NULL, "true");
        if (opts->allow_empty_message)
-               res |= git_config_set_in_file_gently(opts_file,
+               res |= repo_config_set_in_file_gently(the_repository, opts_file,
                                "options.allow-empty-message", NULL, "true");
        if (opts->drop_redundant_commits)
-               res |= git_config_set_in_file_gently(opts_file,
+               res |= repo_config_set_in_file_gently(the_repository, opts_file,
                                "options.drop-redundant-commits", NULL, "true");
        if (opts->keep_redundant_commits)
-               res |= git_config_set_in_file_gently(opts_file,
+               res |= repo_config_set_in_file_gently(the_repository, opts_file,
                                "options.keep-redundant-commits", NULL, "true");
        if (opts->signoff)
-               res |= git_config_set_in_file_gently(opts_file,
+               res |= repo_config_set_in_file_gently(the_repository, opts_file,
                                        "options.signoff", NULL, "true");
        if (opts->record_origin)
-               res |= git_config_set_in_file_gently(opts_file,
+               res |= repo_config_set_in_file_gently(the_repository, opts_file,
                                        "options.record-origin", NULL, "true");
        if (opts->allow_ff)
-               res |= git_config_set_in_file_gently(opts_file,
+               res |= repo_config_set_in_file_gently(the_repository, opts_file,
                                        "options.allow-ff", NULL, "true");
        if (opts->mainline) {
                struct strbuf buf = STRBUF_INIT;
                strbuf_addf(&buf, "%d", opts->mainline);
-               res |= git_config_set_in_file_gently(opts_file,
+               res |= repo_config_set_in_file_gently(the_repository, opts_file,
                                        "options.mainline", NULL, buf.buf);
                strbuf_release(&buf);
        }
        if (opts->strategy)
-               res |= git_config_set_in_file_gently(opts_file,
+               res |= repo_config_set_in_file_gently(the_repository, opts_file,
                                        "options.strategy", NULL, opts->strategy);
        if (opts->gpg_sign)
-               res |= git_config_set_in_file_gently(opts_file,
+               res |= repo_config_set_in_file_gently(the_repository, opts_file,
                                        "options.gpg-sign", NULL, opts->gpg_sign);
        for (size_t i = 0; i < opts->xopts.nr; i++)
                res |= git_config_set_multivar_in_file_gently(opts_file,
                                "options.strategy-option",
                                opts->xopts.v[i], "^$", NULL, 0);
        if (opts->allow_rerere_auto)
-               res |= git_config_set_in_file_gently(opts_file,
+               res |= repo_config_set_in_file_gently(the_repository, opts_file,
                                "options.allow-rerere-auto", NULL,
                                opts->allow_rerere_auto == RERERE_AUTOUPDATE ?
                                "true" : "false");
 
        if (opts->explicit_cleanup)
-               res |= git_config_set_in_file_gently(opts_file,
+               res |= repo_config_set_in_file_gently(the_repository, opts_file,
                                "options.default-msg-cleanup", NULL,
                                describe_cleanup_mode(opts->default_msg_cleanup));
        return res;
index 70324da38300f400d5b4bf38476a85a6c8d43f4b..1f19fe207741bc364cc26321fe2145b18a5c198c 100644 (file)
@@ -983,7 +983,7 @@ int config_set_in_gitmodules_file_gently(const char *key, const char *value)
 {
        int ret;
 
-       ret = git_config_set_in_file_gently(GITMODULES_FILE, key, NULL, value);
+       ret = repo_config_set_in_file_gently(the_repository, GITMODULES_FILE, key, NULL, value);
        if (ret < 0)
                /* Maybe the user already did that, don't error out here */
                warning(_("Could not update .gitmodules entry %s"), key);
index f8373a9ea7decf33fdc3ad5fbccd527421b12e90..fff3c755703163da423d5978b8bdf0d36c6f8ea9 100644 (file)
@@ -2058,7 +2058,7 @@ void submodule_unset_core_worktree(const struct submodule *sub)
        submodule_name_to_gitdir(&config_path, the_repository, sub->name);
        strbuf_addstr(&config_path, "/config");
 
-       if (git_config_set_in_file_gently(config_path.buf, "core.worktree", NULL, NULL))
+       if (repo_config_set_in_file_gently(the_repository, config_path.buf, "core.worktree", NULL, NULL))
                warning(_("Could not unset core.worktree setting in submodule '%s'"),
                          sub->path);
 
index 981a2713374ff8d1ce036181d9c6dfdea3f2ea7b..a2a5f51f29fca2b1862a8f08da583f45995f799f 100644 (file)
@@ -991,9 +991,9 @@ done:
 static int move_config_setting(const char *key, const char *value,
                               const char *from_file, const char *to_file)
 {
-       if (git_config_set_in_file_gently(to_file, key, NULL, value))
+       if (repo_config_set_in_file_gently(the_repository, to_file, key, NULL, value))
                return error(_("unable to set %s in '%s'"), key, to_file);
-       if (git_config_set_in_file_gently(from_file, key, NULL, NULL))
+       if (repo_config_set_in_file_gently(the_repository, from_file, key, NULL, NULL))
                return error(_("unable to unset %s in '%s'"), key, from_file);
        return 0;
 }