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

Re: git makes it impossible to ignore or override global gitconfig, needs `GITCONFIGFILE`

From
Jeff King <peff@peff.net>
Date
Mar 19, 2020, 16:51 UTC
Message-ID
<20200319165149.GA4074934@coredump.intra.peff.net>
In-Reply-To
<20200319064407.GA26408@dcvr>
On Thu, Mar 19, 2020 at 06:44:07AM +0000, Eric Wong wrote:
Show 14 quoted lines
> Timothee Cour <thelastmammoth@gmail.com> wrote:
> > git makes it impossible to ignore global gitconfig. This is
> > essentially what's being asked here:
> > https://stackoverflow.com/questions/23400449/how-to-make-git-temporarily-ignore-gitconfig
> > 
> > ## proposal:
> > add an environment variable (like for tig and other programs), eg:
> > `GITCONFIGFILE=~/.gitconfig_temp git diff`
> > seems like an easy change that would make it easy for users to ignore
> > or override their gitconfig
> 
> You can use GIT_CONFIG for that, and there's also
> GIT_CONFIG_NOSYSTEM.  They're both documented in the
> git-config(5) manpage.

I don't think $GIT_CONFIG is what Timothee whats. It only affects the git-config command, not config lookup in other programs. And it overrides _all_ config lookup, as if "git config --file" had been used.

There's no variable to suppress just the user-level gitconfig. The usual technique (that we use in the test scripts) is to point $HOME somewhere else, but that may affect other programs.

I wouldn't be opposed to GIT_CONFIG_NOGLOBAL if there's a use case, but it sounds like the desire is to actually provide new config. That can also be done for specific options with "git -c". Under the hood that is using GIT_CONFIG_PARAMETERS in the environment; you can set it individually, but note that it's a little picky about quoting (the individual keys are shell-quoted, but it insists that there is an outer layer of single-quotes, even if they weren't necessary; I wouldn't be opposed to making it more friendly). You can see what it produces like this:

  git -c alias.dump='!echo "$GIT_CONFIG_PARAMETERS"' dump
-Peff
Previous: Eric WongNext: Timothee Cour
Message 3 of 5 in “git makes it impossible to ignore or override global gitconfig, needs `GITCONFIGFILE`”
  1. Timothee CourMar 19, 2020
  2. Eric WongMar 19, 2020
  3. Jeff KingMar 19, 2020
  4. Timothee CourMar 20, 2020
  5. Jeff KingMar 20, 2020

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.