From: Matthew Persico Date: Sun, 03 Apr 2016 20:11:55 GMT Subject: Re: GIT_CONFIG - what's the point? Message-ID: In-Reply-To: <1459531705-31906-1-git-send-email-szeder@ira.uka.de> On Fri, Apr 1, 2016 at 1:28 PM, SZEDER Gábor wrote: >> Let me explain my scenario. I have an nfs mounted home directory. It >> is used across multiple machines. I use different colored xterms for >> each machine. But that means that the one set of colors in my one >> .gitconfig file don't work against all my screen backgrounds. I'm >> trying to find a way to tune the git colors per login. The ability to >> set colors in an environment variable (like most UNIX utils support) >> would be the easiest way to do this. Failing that, I was hoping that >> by setting GIT_CONFIG per login, I could tune the color schemes with >> different config files. >> >> Since that is not how GIT_CONFIG is used, I have simply decided to >> squint where necessary, or open up a neutral colored xterm for the >> diff, regardless of machine. >> >> Yes, I could probably do diffs in many other ways, but git diff at the >> command line is usually the most expedient. >> >> Unless I wanted to define a GIT_CONFIG_OVER environment variable upon >> login, place inside it the appropriate -c= overrides for >> colors, and then define a bash function git as >> >> git () { >> $(which git) $GIT_CONFIG_OVER "$@" >> return $? >> } >> >> which seems silly. > > Yeah, that 'return $?' at the end of the function does indeed seem > silly :) (sorry, couldn't resist...) Part OCD, part OAC. :-) > > You could use machine-specific config includes instead of that > GIT_CONFIG_OVER environment variable. I.e. store machine-specific > color configuration in ~/.gitcolors. or something and define > the shell function as: > > git () { > command git -c include.path=~/.gitcolors.$HOSTNAME "$@" > } BINGO! THAT was the redirection I needed! One thing I was trying to figure out early one was how to put HOSTNAME-based include.path-s in the .gitconfig. So I put them OUTSIDE the .gitconfig like this. Much obliged. Next time you are in NYC - I owe you a beer! > > The impact on your .bashrc would be much smaller than with the > GIT_CONFIG_OVER approach. > You could even turn this into an alias, if you want. > > -- Matthew O. Persico