t / t5810-proto-disable-local.shon commit Merge branch 'sb/hashmap-cleanup' (55c965f)
   1#!/bin/sh
   2
   3test_description='test disabling of local paths in clone/fetch'
   4. ./test-lib.sh
   5. "$TEST_DIRECTORY/lib-proto-disable.sh"
   6
   7test_expect_success 'setup repository to clone' '
   8        test_commit one
   9'
  10
  11test_proto "file://" file "file://$PWD"
  12test_proto "path" file .
  13
  14test_expect_success 'setup repo with dash' '
  15        git init --bare repo.git &&
  16        git push repo.git HEAD &&
  17        mv repo.git "$PWD/-repo.git"
  18'
  19
  20# This will fail even without our rejection because upload-pack will
  21# complain about the bogus option. So let's make sure that GIT_TRACE
  22# doesn't show us even running upload-pack.
  23#
  24# We must also be sure to use "fetch" and not "clone" here, as the latter
  25# actually canonicalizes our input into an absolute path (which is fine
  26# to allow).
  27test_expect_success 'repo names starting with dash are rejected' '
  28        rm -f trace.out &&
  29        test_must_fail env GIT_TRACE="$PWD/trace.out" git fetch -- -repo.git &&
  30        ! grep upload-pack trace.out
  31'
  32
  33test_expect_success 'full paths still work' '
  34        git fetch "$PWD/-repo.git"
  35'
  36
  37test_done