Re: git appears to ignore GIT_CONFIG environment variable

2018-11-03 Thread Sirio Balmelli
Thank you very much, I appreciate the answer :)

best,

Sirio

> On Nov 2, 2018, at 04:07, Junio C Hamano  wrote:
> 
> Sirio Balmelli  writes:
> 
>> It appears that git ignores the GIT_CONFIG environment variable,
>> while git-config *does* consider it.
> 
> Yup, that is exactly how it is designed and documented.  These
> dasys, with "git config" taking "--file" to work on any arbitrary
> filename, you do not necessarily need GIT_CONFIG enviornment.
> 



signature.asc
Description: Message signed with OpenPGP


git appears to ignore GIT_CONFIG environment variable

2018-11-01 Thread Sirio Balmelli
It appears that git ignores the GIT_CONFIG environment variable, while 
git-config *does* consider it.

I have written a short script that shows this in detail and reproduces, it is 
included below and also posted on github at 
https://github.com/siriobalmelli/toolbench/blob/master/git/git-env-check.sh
This behavior is confirmed in 2.17.1, 2.18.0 and 2.19.1

I have tried to google this but don’t see any references to GIT_CONFIG outside 
of the git-config manual.
Is it intended behavior that this environment variable is only valid with 
git-config?

Thank you very much,

Sirio

—

#!/bin/bash
# this script demonstrates that the GIT_CONFIG is used by 'git-config'
# but *not* by 'git' itself.
# 2018 Sirio Balmelli

cleanup()
{
rm -rf ~/.gitconfig git-env-check
}

fail()
{
echo "$*" >&2
cleanup
exit 1
}

# don't break the user's config
if [[ -e ~/.gitconfig ]]; then
# don't fail, deleting ~/.gitconfig, for obvious reasons
echo "this script would break your existing ~/.gitconfig - please 
remove it and run again" >&2
exit 1
fi

unset GIT_CONFIG
git config -l | grep -q alias.he=help \
&& fail "alias 'he' already set, can't use it for this test" \
|| echo "1. the alias 'he' is unset by default"

echo "2. write a gitconfig in a non-standard location; export to GIT_CONFIG:"
mkdir git-env-check
cat </dev/null \
|| fail "unexpected: git also ignores ~/.gitconfig" \
&& echo "5. git DOES see 'he' if conf is linked to '~/.gitconfig'"

echo "6. this was $(git --version)"
cleanup



signature.asc
Description: Message signed with OpenPGP