diff options
author | Junio C Hamano <gitster@pobox.com> | 2015-09-28 15:33:56 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-09-28 15:33:56 -0700 |
commit | 11a458befcd7662fbe6d2d53c76d49ae2b0fe219 (patch) | |
tree | de4cf6a8a43cb30b53f924ed8820de09409f0afd /t/t5815-submodule-protos.sh | |
parent | ee6ad5f4d56e697c972af86cbefdf269b386e470 (diff) | |
parent | a2558fb8e1e387b630312311e1d22c95663da5d0 (diff) | |
download | git-11a458befcd7662fbe6d2d53c76d49ae2b0fe219.tar.gz |
Sync with 2.4.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 |