#!/bin/sh test_description='test disabling of local paths in clone/fetch' . ./test-lib.sh . "$TEST_DIRECTORY/lib-proto-disable.sh" test_expect_success 'setup repository to clone' ' test_commit one ' test_proto "file://" file "file://$PWD" test_proto "path" file . test_expect_success 'setup repo with dash' ' git init --bare repo.git && git push repo.git HEAD && mv repo.git "$PWD/-repo.git" ' # This will fail even without our rejection because upload-pack will # complain about the bogus option. So let's make sure that GIT_TRACE # doesn't show us even running upload-pack. # # We must also be sure to use "fetch" and not "clone" here, as the latter # actually canonicalizes our input into an absolute path (which is fine # to allow). test_expect_success 'repo names starting with dash are rejected' ' rm -f trace.out && test_must_fail env GIT_TRACE="$PWD/trace.out" git fetch -- -repo.git && ! grep upload-pack trace.out ' test_expect_success 'full paths still work' ' git fetch "$PWD/-repo.git" ' test_done