Re: git/path.c - order of accessing ~/.gitconfig
- From
Matthieu Moy <matthieu.moy@grenoble-inp.fr>
- Date
- Sep 18, 2013, 15:01 UTC
- Message-ID
- <vpq8uyuxjfe.fsf@anie.imag.fr>
- In-Reply-To
- <20130918.201006.407922449.enometh@meer.net>
Madhu <enometh@meer.net> writes:
Show 19 quoted lines
> * commit 21cf32279120799a766d22416be7d82d9ecfbd04 > | > | Author: Huynh Khoi Nguyen Nguyen <Huynh-Khoi-Nguyen.Nguyen@ensimag.imag.fr> > | Date: Fri Jun 22 11:03:23 2012 +0200 > | > | config: read (but not write) from $XDG_CONFIG_HOME/git/config file > | > | Teach git to read the "gitconfig" information from a new location, > | $XDG_CONFIG_HOME/git/config; this allows the user to avoid > | cluttering $HOME with many per-application configuration files. > | > | In the order of reading, this file comes between the global > | configuration file (typically $HOME/.gitconfig) and the system wide > | configuration file (typically /etc/gitconfig). > > > However git/config.c (git_config_early) commit accesses xdg_config > before user_config. So the comments and documentation are > inconsistent with the code.
It seems the commit message is wrong, indeed. But it's too late to fix it. OTOH, the documentation seems right to me (Documentation/git-config.txt). It says:
$(prefix)/etc/gitconfig:: System-wide configuration file. $XDG_CONFIG_HOME/git/config:: Second user-specific configuration file. If $XDG_CONFIG_HOME is not set or empty, `$HOME/.config/git/config` will be used. Any single-valued variable set in this file will be overwritten by whatever is in `~/.gitconfig`. It is a good idea not to create this file if you sometimes use older versions of Git, as support for this file was added fairly recently. ~/.gitconfig:: User-specific configuration file. Also called "global" configuration file. $GIT_DIR/config:: Repository specific configuration file.
-- Matthieu Moy http://www-verimag.imag.fr/~moy/