Subject: Re: Using Environment variable GIT_CONFIG does not work as expected

From: SZEDER Gábor <[email-masked]>
Date: Mon, 30 Jul 2018 15:07:57 +0200

> I have a shared linux account which is used by multiple developers.
> But I would like to have git commit history configured so that I can
> see who made a change to common repository (so that author of the
> commit would be correct person, not shared user). There are reasons
> why developers cannot clone this environment to their own accounts.
> 
> So I don't have ~/.gitconfig in place for the shared user, and when
> developer log in I enforce them to configure git for them first. They
> must "export GIT_CONFIG=my_specific_gitconfig".
> When this is done, "git config -l" will show correctly the user.name,
> user.email and other parameters which are set in
> "my_specific_gitconfig".
> 
> However, if user tries now to create a commit the git blames:
> *** Please tell me who you are.
> and so on...
> 
> But running "git config -l" shows that 'user.name' and 'user.email'
> are properly configured.
> Do I need to configure something more in order to get this GIT_CONFIG
> environment variable working. I'm working in Debian Linux environment.

I think it's working as intended, because GIT_CONFIG is only supposed
to affect 'git config' and is only documented in the git-config(1) man
page.  Perhaps the wording could be improved to be more explicit about
this.

Note that more general environment variables affecting more git
commands are documented in git(1), and GIT_CONFIG is not mentioned
there.

Try setting and exporting the environment variables GIT_AUTHOR_NAME,
GIT_AUTHOR_EMAIL, GIT_COMMITTER_NAME, and GIT_COMMITTER_EMAIL instead.

> 
> I have tested this with git versions: 2.1.4, 2.11.0 and
> 2.18.0.321.gffc6fa0