Re: What is XDG_CONFIG_HOME for exactly?
From: Matthieu Moy <hidden>
Date: 2016-06-15 23:04:10
On Sun, Mar 15, 2015 at 6:37 PM, Robert Dailey [off-list ref] wrote:quoted
My understanding is that git reads the priority of configuration as follows: 1. <local_repo>/.git/config 2. $HOME/.gitconfig 3. $XDG_CONFIG_HOME/git/config
$HOME/.gitconfig is the traditional Unix location for config files. It was the only per-user config files in early versions of Git. $XDG_CONFIG_HOME/git/config is the location following freedesktop's XDG standard. It has several advantages (you can version and/or share individual $XDG_CONFIG_HOME/git/ as a whole directory, while it's much harder to version all ~/.git* files individually for example). You typically want to use either one or the other.
quoted
4. system level git config (not sure exactly where this is; not relevant to me on Windows)
This is relevant if you use a shared machine and your sysadmin wants to have the same configuration for all users.
To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Robert Dailey [off-list ref] writes:
As a follow-up, I tested the following in my .bashrc:
# Utilize different GIT settings based on platform
if [[ $OSTYPE == 'msys' || $OSTYPE == 'cygwin' ]]; then
echo 'Using WINDOWS specific git settings'
export XDG_CONFIG_HOME=.config-windows
You need an absolute directory here:
export XDG_CONFIG_HOME=$HOME/.config-windows
Then, I'd suggest that $XDG_CONFIG_HOME/git/config contains a
[include]
path = ../../.config-shared/git/config
so that you can factor out common portions of your config file into
.config-shared/git/config and keep machine-specific portions in
~/.config-{windows,linux}.
--
Matthieu Moy
http://www-verimag.imag.fr/~moy/