config: don't have setters depend on the_repository
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>
This commit is contained in:

committed by
Junio C Hamano

parent
76fc9906f2
commit
c2ba4e3b5c
16
config.c
16
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. */
|
/* Only use worktree-specific config if it is already enabled. */
|
||||||
if (r->repository_format_worktree_config) {
|
if (r->repository_format_worktree_config) {
|
||||||
char *file = repo_git_path(r, "config.worktree");
|
char *file = repo_git_path(r, "config.worktree");
|
||||||
int ret = git_config_set_multivar_in_file_gently(
|
int ret = repo_config_set_multivar_in_file_gently(
|
||||||
file, key, value, NULL, NULL, 0);
|
r, file, key, value, NULL, NULL, 0);
|
||||||
free(file);
|
free(file);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -3613,10 +3613,10 @@ int repo_config_set_multivar_gently(struct repository *r, const char *key,
|
|||||||
const char *value_pattern, unsigned flags)
|
const char *value_pattern, unsigned flags)
|
||||||
{
|
{
|
||||||
char *file = repo_git_path(r, "config");
|
char *file = repo_git_path(r, "config");
|
||||||
int res = git_config_set_multivar_in_file_gently(file,
|
int res = repo_config_set_multivar_in_file_gently(r, file,
|
||||||
key, value,
|
key, value,
|
||||||
value_pattern,
|
value_pattern,
|
||||||
NULL, flags);
|
NULL, flags);
|
||||||
free(file);
|
free(file);
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
@ -3626,8 +3626,8 @@ void repo_config_set_multivar(struct repository *r,
|
|||||||
const char *value_pattern, unsigned flags)
|
const char *value_pattern, unsigned flags)
|
||||||
{
|
{
|
||||||
char *file = repo_git_path(r, "config");
|
char *file = repo_git_path(r, "config");
|
||||||
git_config_set_multivar_in_file(file, key, value,
|
repo_config_set_multivar_in_file(r, file, key, value,
|
||||||
value_pattern, flags);
|
value_pattern, flags);
|
||||||
free(file);
|
free(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user