зеркало из https://github.com/microsoft/git.git
git_config_with_options: drop "found" counting
Prior to 1f2baa7
(config: treat non-existent config files as
empty, 2010-10-21), we returned an error if any config files
were missing. That commit made this a non-error, but
returned the number of sources found, in case any caller
wanted to distinguish this case.
In the past 5+ years, no caller has; the only two places
which bother to check the return value care only about the
error case. Let's drop this code, which complicates the
function. Similarly, let's drop the "found anything" return
from git_config_from_parameters, which was present only to
support this (and similarly has never had other callers care
for the past 5+ years).
Note that we do need to update a comment in one of the
callers, even though the code immediately below it doesn't
care about this case.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
3a0f269e7c
Коммит
c72ee44bf4
34
config.c
34
config.c
|
@ -230,7 +230,7 @@ int git_config_from_parameters(config_fn_t fn, void *data)
|
|||
|
||||
free(argv);
|
||||
free(envw);
|
||||
return nr > 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int get_next_char(void)
|
||||
|
@ -1197,47 +1197,31 @@ int git_config_system(void)
|
|||
|
||||
static int do_git_config_sequence(config_fn_t fn, void *data)
|
||||
{
|
||||
int ret = 0, found = 0;
|
||||
int ret = 0;
|
||||
char *xdg_config = xdg_config_home("config");
|
||||
char *user_config = expand_user_path("~/.gitconfig");
|
||||
char *repo_config = git_pathdup("config");
|
||||
|
||||
if (git_config_system() && !access_or_die(git_etc_gitconfig(), R_OK, 0)) {
|
||||
if (git_config_system() && !access_or_die(git_etc_gitconfig(), R_OK, 0))
|
||||
ret += git_config_from_file(fn, git_etc_gitconfig(),
|
||||
data);
|
||||
found += 1;
|
||||
}
|
||||
|
||||
if (xdg_config && !access_or_die(xdg_config, R_OK, ACCESS_EACCES_OK)) {
|
||||
if (xdg_config && !access_or_die(xdg_config, R_OK, ACCESS_EACCES_OK))
|
||||
ret += git_config_from_file(fn, xdg_config, data);
|
||||
found += 1;
|
||||
}
|
||||
|
||||
if (user_config && !access_or_die(user_config, R_OK, ACCESS_EACCES_OK)) {
|
||||
if (user_config && !access_or_die(user_config, R_OK, ACCESS_EACCES_OK))
|
||||
ret += git_config_from_file(fn, user_config, data);
|
||||
found += 1;
|
||||
}
|
||||
|
||||
if (repo_config && !access_or_die(repo_config, R_OK, 0)) {
|
||||
if (repo_config && !access_or_die(repo_config, R_OK, 0))
|
||||
ret += git_config_from_file(fn, repo_config, data);
|
||||
found += 1;
|
||||
}
|
||||
|
||||
switch (git_config_from_parameters(fn, data)) {
|
||||
case -1: /* error */
|
||||
if (git_config_from_parameters(fn, data) < 0)
|
||||
die(_("unable to parse command-line config"));
|
||||
break;
|
||||
case 0: /* found nothing */
|
||||
break;
|
||||
default: /* found at least one item */
|
||||
found++;
|
||||
break;
|
||||
}
|
||||
|
||||
free(xdg_config);
|
||||
free(user_config);
|
||||
free(repo_config);
|
||||
return ret == 0 ? found : ret;
|
||||
return ret;
|
||||
}
|
||||
|
||||
int git_config_with_options(config_fn_t fn, void *data,
|
||||
|
@ -1272,7 +1256,7 @@ static void git_config_raw(config_fn_t fn, void *data)
|
|||
if (git_config_with_options(fn, data, NULL, 1) < 0)
|
||||
/*
|
||||
* git_config_with_options() normally returns only
|
||||
* positive values, as most errors are fatal, and
|
||||
* zero, as most errors are fatal, and
|
||||
* non-fatal potential errors are guarded by "if"
|
||||
* statements that are entered only when no error is
|
||||
* possible.
|
||||
|
|
Загрузка…
Ссылка в новой задаче