diff options
author | Junio C Hamano <gitster@pobox.com> | 2015-10-05 12:30:14 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-10-05 12:30:14 -0700 |
commit | e6f11c19abab516b81a722ea56dccd20fb9c0987 (patch) | |
tree | aa43363976b4365530fcfcf8475880d4c6a1bfc5 /t/t5507-remote-environment.sh | |
parent | Merge branch 'jk/date-local' (diff) | |
parent | git_connect: clarify conn->use_shell flag (diff) | |
download | tgif-e6f11c19abab516b81a722ea56dccd20fb9c0987.tar.xz |
Merge branch 'jk/connect-clear-env'
The ssh transport, just like any other transport over the network,
did not clear GIT_* environment variables, but it is possible to
use SendEnv and AcceptEnv to leak them to the remote invocation of
Git, which is not a good idea at all. Explicitly clear them just
like we do for the local transport.
* jk/connect-clear-env:
git_connect: clarify conn->use_shell flag
git_connect: clear GIT_* environment for ssh
Diffstat (limited to 't/t5507-remote-environment.sh')
-rwxr-xr-x | t/t5507-remote-environment.sh | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/t/t5507-remote-environment.sh b/t/t5507-remote-environment.sh new file mode 100755 index 0000000000..e6149295b1 --- /dev/null +++ b/t/t5507-remote-environment.sh @@ -0,0 +1,34 @@ +#!/bin/sh + +test_description='check environment showed to remote side of transports' +. ./test-lib.sh + +test_expect_success 'set up "remote" push situation' ' + test_commit one && + git config push.default current && + git init remote +' + +test_expect_success 'set up fake ssh' ' + GIT_SSH_COMMAND="f() { + cd \"\$TRASH_DIRECTORY\" && + eval \"\$2\" + }; f" && + export GIT_SSH_COMMAND && + export TRASH_DIRECTORY +' + +# due to receive.denyCurrentBranch=true +test_expect_success 'confirm default push fails' ' + test_must_fail git push remote +' + +test_expect_success 'config does not travel over same-machine push' ' + test_must_fail git -c receive.denyCurrentBranch=false push remote +' + +test_expect_success 'config does not travel over ssh push' ' + test_must_fail git -c receive.denyCurrentBranch=false push host:remote +' + +test_done |