Junio C Hamano wrote: > Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes: > >> Okay for GIT_LOCAL_CONFIG. I do not remember off-hand who wanted it >> (Jakub? Pasky?), but it was in the context of gitweb. >> >> However, GIT_CONFIG is meant to parse arbitrary config files. >> ... >> But this "core.*" stuff is insane. Please no. > > Ok, Eric's example and yours made it clear that GIT_CONFIG is an > interface meant to reuse (or abuse) git-config to read some file > that is not at all related to git, and should never be used by > other plumbing. As long as that is clear (could we have that in > the documentation, by the way, please?), I have no problem with > that. > > In fact, I am very happy that we do not have to do that insane > "core.*" stuff, which I thought was needed purely because > somebody was trying to use GIT_CONFIG to prevent plumbing and > porcelain from reading core configuration variables that are per > repository in nature. > > As I said in my other message, GIT_LOCAL_CONFIG is parallel to > GIT_OBJECT_DIRECTORY and GIT_INDEX_FILE, and I am Ok with the > way it is handled by the current code. > > I mildly disagree with you on having an ability to disable > /etc/gitconfig. This is necessary in the real world (in the > same sense as "adduser" can be told not to copy skeltons by > creating an empty home directory beforehand), even if we do not > consider the fact that it would help gaining repeatable results > from our test scripts (remember, using GIT_CONFIG to make > plumbing and porcelain read from there would set a bad example, > even when it is pointing at .git/config). Hmmm... documentation of GIT_CONFIG and GIT_LOCAL_CONFIG is a bit behind, I guess: git-repo-config(1): ENVIRONMENT GIT_CONFIG Take the configuration from the given file instead of .git/config. Using the "--global" option forces this to ~/.gitconfig. GIT_CONFIG_LOCAL Currently the same as $GIT_CONFIG; when Git will support global con- figuration files, this will cause it to take the configuration from the global configuration file in addition to the given file. In my opionoin the logic should be: first read /etc/gitconfig, or GIT_SYSTEM_CONFIG, if it exists, then ~/.gitconfig, if it exists, then $GIT_DIR/config or GIT_LOCAL_CONFIG; if GIT_CONFIG is set, read only this. -- Jakub Narebski Warsaw, Poland ShadeHawk on #git - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html