Re: GIT_CONFIG - what's the point?
- From
Matthew Persico <matthew.persico@gmail.com>
- Date
- Apr 3, 2016, 20:11 UTC
- Message-ID
- <CAL20dLAK953vmqO2E1Aw-4aDOCthJYu+xP=0GUX2DTmajLxi8A@mail.gmail.com>
- 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 <szeder@ira.uka.de> wrote:
Show 30 quoted lines
>> 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<name>=<value> 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. :-)
Show 9 quoted lines
>
> You could use machine-specific config includes instead of that
> GIT_CONFIG_OVER environment variable. I.e. store machine-specific
> color configuration in ~/.gitcolors.<machine> 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!
Show 6 quoted lines
> > 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