Re: What is XDG_CONFIG_HOME for exactly?
- From
- Robert Dailey <rcdailey.lists@gmail.com>
- Date
- Mar 15, 2015, 23:50 UTC
- Message-ID
- <CAHd499AGHgBECH9t_EtkwLx7VCx3yVnDS27PteF3zF1xSAG8Yg@mail.gmail.com>
- In-Reply-To
- <CAHd499CmxwGJeW6gMARhc+cT+r3TK98m+LyyS+eCFXz8qKHrFw@mail.gmail.com>
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
else
echo 'Using LINUX specific git settings'
export XDG_CONFIG_HOME=.config-linux
fiThis seems to work nicely!! I share my $HOME directory (located in dropbox) across all platforms so this helps me keep a consistent environment across all my machines with zero effort.
On Sun, Mar 15, 2015 at 6:37 PM, Robert Dailey <rcdailey.lists@gmail.com> wrote:
Show 24 quoted lines
> 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 > 4. system level git config (not sure exactly where this is; not > relevant to me on Windows) > > I have a .gitconfig in Dropbox that I symlink to my home directory on > different platforms. Specifically, I share this gitconfig across > Cygwin/msys on Windows and Ubuntu. > > If I can use XDG_CONFIG_HOME to leverage platform-specific settings, > I'd be able to keep platform-agnostic settings in my $HOME/.gitconfig > and put platform-specific settings in $XDG_CONFIG_HOME/git/config and > simply give XDG_CONFIG_HOME a different name on different platforms. > > Is this what it was designed for? If not, what would be the best > approach for this? I was thinking of contributing a patch that would > let you specify the name of your git config in the home directory, but > I'm not sure if that is necessary. Something like this: > > $HOME/$GIT_CONFIG_FILENAME, where GIT_CONFIG_FILENAME defaults to > ".gitconfig" if it is not set or empty.