threads / discuss / 11763

Configuration overrides via environment variable

Subject: Configuration overrides via environment variable

## tl;dr

4 messages between Jan 28, 2008 and Jan 28, 2008.

replies: 3people: 3as markdown or json

David Symonds· Jan 28, 2008, 01:08 UTC · lore
Hi,

I'm using Git in some scripts, and wanted to get its colorised output even when it is not going to a tty. I don't want to permanently change ~/.gitconfig or the per-repo config; I just want to set color.status (and perhaps others) to "always" for a one-off run. I suppose I could munge the config files, storing the previous value and restoring it later, but that's messy.

Ideally, an environment variable like GIT_EXTRA_CONFIG or something would be nice, so I could just do:

GIT_EXTRA_CONFIG="color.status=always" git status | ...
Thoughts? Does this already exist, and I've overlooked it?
Dave.
Jan Hudec· Jan 28, 2008, 20:58 UTC · re: David Symonds · lore

Re: Configuration overrides via environment variable

On Mon, Jan 28, 2008 at 12:08:10 +1100, David Symonds wrote:
Show 15 quoted lines
> Hi,
> 
> I'm using Git in some scripts, and wanted to get its colorised output
> even when it is not going to a tty. I don't want to permanently change
> ~/.gitconfig or the per-repo config; I just want to set color.status
> (and perhaps others) to "always" for a one-off run. I suppose I could
> munge the config files, storing the previous value and restoring it
> later, but that's messy.
> 
> Ideally, an environment variable like GIT_EXTRA_CONFIG or something
> would be nice, so I could just do:
> 
> GIT_EXTRA_CONFIG="color.status=always" git status | ...
> 
> Thoughts? Does this already exist, and I've overlooked it?

Quickly looking at the git-config manpage, there does not seem to be a way to provide alternate config file via GIT_CONFIG and/or GIT_CONFIG_LOCAL variables. I don't know how good match for your problem that would be.

-- 
						 Jan 'Bulb' Hudec <bulb@ucw.cz>
Jakub Narebski· Jan 28, 2008, 22:58 UTC · re: Jan Hudec · lore

Re: Configuration overrides via environment variable

Jan Hudec <bulb@ucw.cz> writes:
Show 8 quoted lines
> On Mon, Jan 28, 2008 at 12:08:10 +1100, David Symonds wrote:
> > 
> > I'm using Git in some scripts, and wanted to get its colorised output
> > even when it is not going to a tty. I don't want to permanently change
> > ~/.gitconfig or the per-repo config; I just want to set color.status
> > (and perhaps others) to "always" for a one-off run. I suppose I could
> > munge the config files, storing the previous value and restoring it
> > later, but that's messy.
Cannot you just use --color option?
 
Show 10 quoted lines
> > Ideally, an environment variable like GIT_EXTRA_CONFIG or something
> > would be nice, so I could just do:
> > 
> > GIT_EXTRA_CONFIG="color.status=always" git status | ...
> > 
> > Thoughts? Does this already exist, and I've overlooked it?
> 
> Quickly looking at the git-config manpage, there does not seem to be a way to
> provide alternate config file via GIT_CONFIG and/or GIT_CONFIG_LOCAL
> variables. I don't know how good match for your problem that would be.

GIT_CONFIG_LOCAL *replaces* repository configuration file; the global and the system-wide configuration files will still be read. GIT_CONFIG is the only config file read.

So you could I guess concatenate repo config with "[color] status=always", although you would get warnings if color.status is already set...

-- 
Jakub Narebski
Poland
ShadeHawk on #git
David Symonds· Jan 28, 2008, 23:11 UTC · re: Jakub Narebski · lore

Re: Configuration overrides via environment variable

On Jan 29, 2008 9:58 AM, Jakub Narebski <jnareb@gmail.com> wrote:
Show 12 quoted lines
> Jan Hudec <bulb@ucw.cz> writes:
>
> > On Mon, Jan 28, 2008 at 12:08:10 +1100, David Symonds wrote:
> > >
> > > I'm using Git in some scripts, and wanted to get its colorised output
> > > even when it is not going to a tty. I don't want to permanently change
> > > ~/.gitconfig or the per-repo config; I just want to set color.status
> > > (and perhaps others) to "always" for a one-off run. I suppose I could
> > > munge the config files, storing the previous value and restoring it
> > > later, but that's messy.
>
> Cannot you just use --color option?

My version of Git (1.5.3.8) doesn't have a --color option for git-status, and I can't find support for it in 'next', either. It would be ideal if there was a --color option, though.

Dave.

← back to recent threads