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

Re: [RFC] Identify where a Git config is defined

From
Jeff King <peff@peff.net>
Date
Feb 2, 2016, 10:15 UTC
Message-ID
<20160202101551.GA17349@sigill.intra.peff.net>
In-Reply-To
<3226E251-73F9-4410-84DE-49C8FFAD92EB@gmail.com>
On Tue, Feb 02, 2016 at 10:27:06AM +0100, Lars Schneider wrote:
Show 6 quoted lines
> Using "git config --list" shows me all configs but sometimes I have a
> hard time to figure out where a certain config is defined. This is
> especially true on Windows as I found the system config in various
> places. I wonder if other people would find it useful to enable
> something like "git config --list --print-source" where every config
> value is printed with the file where it originates from.

We discussed this exact thing a while ago, and it looks like I started on a patch, but didn't pursue it much further. There's some discussion in there if you are interested in designing such a feature:

  http://thread.gmane.org/gmane.comp.version-control.git/190027/focus=190267

It looks like I tweaked it at some point, and I've been carrying this in my tree (rebasing forward and using it in my normal build):

  git fetch git://github.com/peff/git jk/config-sources

Feel free to use it as a starting point if that's helpful. I don't recall offhand how close it is to ready.

> If I read the source correctly this would mean I would need to change
> "config_fn_t" to pass not only key and value but also the config
> source file in addition. Since "config_fn_t" is used in many places
> this would be a big change that probably is not worth the effort?!

There's a global struct for the current config file. In the patches above, I just added an accessor function. Hooray for single-threaded programs.

> Alternatively I was thinking about "git config --print-source-files"
> to print all config files that Git would parse. This would already
> help to find the configs and would probably be a smaller change.

I think the "--sources" option is more useful, because it can show included files, too.

-Peff
Previous: Lars SchneiderNext: Jeff King
Message 2 of 3 in “[RFC] Identify where a Git config is defined”
  1. Lars SchneiderFeb 2, 2016
  2. Jeff KingFeb 2, 2016
  3. Jeff KingFeb 2, 2016

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.