Jeff King <peff@xxxxxxxx> writes: > On Fri, Apr 16, 2021 at 11:14:51PM +0200, SZEDER Gábor wrote: > >> > @@ -1883,6 +1880,7 @@ static int do_git_config_sequence(const struct config_options *opts, >> > config_fn_t fn, void *data) >> > { >> > int ret = 0; >> > + char *system_config = git_system_config(); >> > char *xdg_config = xdg_config_home("config"); >> > char *user_config = expand_user_path("~/.gitconfig", 0); >> > char *repo_config; >> > @@ -1896,11 +1894,10 @@ static int do_git_config_sequence(const struct config_options *opts, >> > repo_config = NULL; >> > >> > current_parsing_scope = CONFIG_SCOPE_SYSTEM; >> > - if (git_config_system() && !access_or_die(git_etc_gitconfig(), R_OK, >> >> Removing git_config_system() from the condition breaks >> GIT_CONFIG_NOSYSTEM: > > Good catch. My gut feeling is that the new git_system_config() should > check NOSYSTEM and return NULL if it's set, and then we can get rid of > git_config_system() entirely. NULL -> /dev/null I guess? > That is slightly different than the old behavior; right now > GIT_CONFIG_NOSYSTEM only prevents reading during the normal sequence, > and not reading (or writing!) via "git config --system". But I think it > would be an improvement to prevent those (the whole point of the feature > was to avoid the test suite accidentally accessing the larger > environment). Yup.