]> git.ipfire.org Git - thirdparty/git.git/commitdiff
config: don't have setters depend on `the_repository`
authorPatrick Steinhardt <ps@pks.im>
Tue, 13 Aug 2024 09:14:15 +0000 (11:14 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 13 Aug 2024 17:01:04 +0000 (10:01 -0700)
Some of the setters that accept a `struct repository` still implicitly
rely on `the_repository` via `git_config_set_multivar_in_file()`. While
this function would typically use the caller-provided path, it knows to
fall back to using the configuration path indicated by `the_repository`.

Adapt those functions to instead use the caller-provided repository.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
config.c

index ed39922dbb31c25ba19fbed97918bf6beabb267e..831c9eacb06aecc76d2b3b19d7571a32b4e22c4b 100644 (file)
--- a/config.c
+++ b/config.c
@@ -3220,8 +3220,8 @@ int repo_config_set_worktree_gently(struct repository *r,
        /* Only use worktree-specific config if it is already enabled. */
        if (r->repository_format_worktree_config) {
                char *file = repo_git_path(r, "config.worktree");
-               int ret = git_config_set_multivar_in_file_gently(
-                                       file, key, value, NULL, NULL, 0);
+               int ret = repo_config_set_multivar_in_file_gently(
+                                       r, file, key, value, NULL, NULL, 0);
                free(file);
                return ret;
        }
@@ -3613,10 +3613,10 @@ int repo_config_set_multivar_gently(struct repository *r, const char *key,
                                    const char *value_pattern, unsigned flags)
 {
        char *file = repo_git_path(r, "config");
-       int res = git_config_set_multivar_in_file_gently(file,
-                                                        key, value,
-                                                        value_pattern,
-                                                        NULL, flags);
+       int res = repo_config_set_multivar_in_file_gently(r, file,
+                                                         key, value,
+                                                         value_pattern,
+                                                         NULL, flags);
        free(file);
        return res;
 }
@@ -3626,8 +3626,8 @@ void repo_config_set_multivar(struct repository *r,
                              const char *value_pattern, unsigned flags)
 {
        char *file = repo_git_path(r, "config");
-       git_config_set_multivar_in_file(file, key, value,
-                                       value_pattern, flags);
+       repo_config_set_multivar_in_file(r, file, key, value,
+                                        value_pattern, flags);
        free(file);
 }