diff options
author | Junio C Hamano <gitster@pobox.com> | 2015-09-28 15:28:26 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-09-28 15:28:31 -0700 |
commit | 6343e2f6f271cf344ea8e7384342502faecaf37c (patch) | |
tree | 50abed20e4b930022a24b64389915f7c774acef9 /t/t5815-submodule-protos.sh | |
parent | 74b67638166ca2e66497ede559dbf393e7af8b40 (diff) | |
parent | 18b58f707fdb3ad7d3d4931bd40693834c9ec8a0 (diff) | |
download | git-6343e2f6f271cf344ea8e7384342502faecaf37c.tar.gz |
Sync with 2.3.10
Diffstat (limited to 't/t5815-submodule-protos.sh')
-rwxr-xr-x | t/t5815-submodule-protos.sh | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/t/t5815-submodule-protos.sh b/t/t5815-submodule-protos.sh new file mode 100755 index 0000000000..06f55a1b8a --- /dev/null +++ b/t/t5815-submodule-protos.sh @@ -0,0 +1,43 @@ +#!/bin/sh + +test_description='test protocol whitelisting with submodules' +. ./test-lib.sh +. "$TEST_DIRECTORY"/lib-proto-disable.sh + +setup_ext_wrapper +setup_ssh_wrapper + +test_expect_success 'setup repository with submodules' ' + mkdir remote && + git init remote/repo.git && + (cd remote/repo.git && test_commit one) && + # submodule-add should probably trust what we feed it on the cmdline, + # but its implementation is overly conservative. + GIT_ALLOW_PROTOCOL=ssh git submodule add remote:repo.git ssh-module && + GIT_ALLOW_PROTOCOL=ext git submodule add "ext::fake-remote %S repo.git" ext-module && + git commit -m "add submodules" +' + +test_expect_success 'clone with recurse-submodules fails' ' + test_must_fail git clone --recurse-submodules . dst +' + +test_expect_success 'setup individual updates' ' + rm -rf dst && + git clone . dst && + git -C dst submodule init +' + +test_expect_success 'update of ssh allowed' ' + git -C dst submodule update ssh-module +' + +test_expect_success 'update of ext not allowed' ' + test_must_fail git -C dst submodule update ext-module +' + +test_expect_success 'user can override whitelist' ' + GIT_ALLOW_PROTOCOL=ext git -C dst submodule update ext-module +' + +test_done |