diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2018-10-30 19:40:07 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-10-31 04:46:32 +0100 |
commit | 0e218f91c299b0bffa281d3449884a824819a201 (patch) | |
tree | ab2bc76bbd5926e1cd296881a8a7f72da97b84d4 /t/t0029-core-unsetenvvars.sh | |
parent | config: move Windows-specific config settings into compat/mingw.c (diff) | |
download | git-0e218f91c299b0bffa281d3449884a824819a201.tar.xz git-0e218f91c299b0bffa281d3449884a824819a201.zip |
mingw: unset PERL5LIB by default
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>
Diffstat (limited to 't/t0029-core-unsetenvvars.sh')
-rwxr-xr-x | t/t0029-core-unsetenvvars.sh | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/t/t0029-core-unsetenvvars.sh b/t/t0029-core-unsetenvvars.sh new file mode 100755 index 0000000000..24ce46a6ea --- /dev/null +++ b/t/t0029-core-unsetenvvars.sh @@ -0,0 +1,30 @@ +#!/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 |