3 test_description
='test disabling of git-over-ssh in clone/fetch'
5 TEST_PASSES_SANITIZE_LEAK
=true
7 .
"$TEST_DIRECTORY/lib-proto-disable.sh"
11 test_expect_success
'setup repository to clone' '
14 git init --bare remote/repo.git &&
15 git push remote/repo.git HEAD
18 test_proto
"host:path" ssh "remote:repo.git"
19 test_proto
"ssh://" ssh "ssh://remote$PWD/remote/repo.git"
20 test_proto
"git+ssh://" ssh "git+ssh://remote$PWD/remote/repo.git"
22 # Don't even bother setting up a "-remote" directory, as ssh would generally
23 # complain about the bogus option rather than completing our request. Our
24 # fake wrapper actually _can_ handle this case, but it's more robust to
25 # simply confirm from its output that it did not run at all.
26 test_expect_success
'hostnames starting with dash are rejected' '
27 test_must_fail git clone ssh://-remote/repo.git dash-host 2>stderr &&
31 test_expect_success
'setup repo with dash' '
32 git init --bare remote/-repo.git &&
33 git push remote/-repo.git HEAD
36 test_expect_success
'repo names starting with dash are rejected' '
37 test_must_fail git clone remote:-repo.git dash-path 2>stderr &&
41 test_expect_success
'full paths still work' '
42 git clone "remote:$PWD/remote/-repo.git" dash-path