Re: [PATCH] config: Introduce GIT_CONFIG_NOGLOBAL
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Apr 8, 2021, 23:34 UTC
- Message-ID
- <87zgy8gxjy.fsf@evledraar.gmail.com>
- In-Reply-To
- <xmqqczv4vgck.fsf@gitster.g>
On Thu, Apr 08 2021, Junio C Hamano wrote:
Show 37 quoted lines
> Patrick Steinhardt <ps@pks.im> writes: >> +test_expect_success 'GIT_CONFIG_NOGLOBAL' ' >> + test_when_finished rm -f "$HOME"/.config/git && >> + cat >"$HOME"/.gitconfig <<-EOF && >> + [home] >> + config = true >> + EOF >> + mkdir -p "$HOME"/.config/git && >> + cat >"$HOME"/.config/git/config <<-EOF && >> + [xdg] >> + config = true >> + EOF >> + cat >.git/config <<-EOF && >> + [local] >> + config = true >> + EOF >> + >> + cat >expect <<-EOF && >> + global xdg.config=true >> + global home.config=true >> + local local.config=true >> + EOF >> + git config --show-scope --list >output && >> + test_cmp expect output && >> + >> + cat >expect <<-EOF && >> + local local.config=true >> + EOF >> + GIT_CONFIG_NOGLOBAL=true git config --show-scope --list >output && >> + test_cmp expect output >> +' > > This test was what initially piqued my curiosity, as the fact that > the result filtered with the new mechanism has only 'local' misled > me to incorrectly think that we are suppressing both 'system' and > 'global' with the single variable. Until I realized that we cannot > test the 'system' configuration in our test suite, that is.
I haven't tested this, but that seems like a thing we want to mock in the test suite by just having git_etc_gitconfig() check a GIT_TEST_* variable.
I had a git_env_str() in [1] that we could use for that, or maybe it should be git_env_path() in this case with the same --path handling, or just do what repo_default_branch_name() does.
1. https://lore.kernel.org/git/20201113161320.16458-1-avarab@gmail.com/