0e218f91c2
Git for Windows ships with its own Perl interpreter, and insists on using it, so it will most likely wreak havoc if PERL5LIB is set before launching Git. Let's just unset that environment variables when spawning processes. To make this feature extensible (and overrideable), there is a new config setting `core.unsetenvvars` that allows specifying a comma-separated list of names to unset before spawning processes. Reported by Gabriel Fuhrmann. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
31 lines
621 B
Bash
Executable File
31 lines
621 B
Bash
Executable File
#!/bin/sh
|
|
|
|
test_description='test the Windows-only core.unsetenvvars setting'
|
|
|
|
. ./test-lib.sh
|
|
|
|
if ! test_have_prereq MINGW
|
|
then
|
|
skip_all='skipping Windows-specific tests'
|
|
test_done
|
|
fi
|
|
|
|
test_expect_success 'setup' '
|
|
mkdir -p "$TRASH_DIRECTORY/.git/hooks" &&
|
|
write_script "$TRASH_DIRECTORY/.git/hooks/pre-commit" <<-\EOF
|
|
echo $HOBBES >&2
|
|
EOF
|
|
'
|
|
|
|
test_expect_success 'core.unsetenvvars works' '
|
|
HOBBES=Calvin &&
|
|
export HOBBES &&
|
|
git commit --allow-empty -m with 2>err &&
|
|
grep Calvin err &&
|
|
git -c core.unsetenvvars=FINDUS,HOBBES,CALVIN \
|
|
commit --allow-empty -m without 2>err &&
|
|
! grep Calvin err
|
|
'
|
|
|
|
test_done
|