git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: BUG: git config --global --get ITEM ignores ~/.config/git/config when ~/.gitconfig is present

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 11, 2023, 01:56 UTC
Message-ID
<xmqqmt5lezi3.fsf@gitster.g>
In-Reply-To
<xmqqsffdf0ji.fsf@gitster.g>
Junio C Hamano <gitster@pobox.com> writes:
Show 9 quoted lines
> Jade Lovelace <lists@jade.fyi> writes:
>
>> Then:
>>
>>  » git config --global --get user.name
>>  » git config --show-scope --show-origin --get user.name
>> global  file:/home/jade/.config/git/config      Jade Lovelace
>
> With "--get" replaced with "--get-all", what do you see?

Ah, nevermind. With "--global", we seem to read from only one, giving the ~/.gitconfig precedence over $XDG/git/config, even though without "--global", we will read from both.

The code has been behaving like so since its inception at 21cf3227 (config: read (but not write) from $XDG_CONFIG_HOME/git/config file, 2012-06-22). I am not sure if this was designed to behave like so for a reason (which unfortunately is not clear in the log message of the commit), or a bug that was caused by the authors who were too focused on the writing side of the equation (which must pick just one file to write to).

My gut feeling is that this is merely a bug that we can fix without worrying too much about users screaming at us complaining that they relied on the current behaviour. Without --global we do read from both, so with with "--global" the behaviour is inconsistent.

Thanks for a report.
Previous: Jade LovelaceNext: Junio C Hamano
Message 4 of 7 in “BUG: git config --global --get ITEM ignores ~/.config/git/config when ~/.gitconfig is present”
  1. Jade LovelaceFeb 11, 2023
  2. Junio C HamanoFeb 11, 2023
  3. Jade LovelaceFeb 11, 2023
  4. Junio C HamanoFeb 11, 2023
  5. Junio C HamanoFeb 11, 2023
  6. Glen ChooFeb 15, 2023
  7. Junio C HamanoFeb 15, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.