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. 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). -Peff