t / t7416-submodule-dash-url.shon commit submodule-config: ban submodule urls that start with dash (f6adec4)
   1#!/bin/sh
   2
   3test_description='check handling of .gitmodule url with dash'
   4. ./test-lib.sh
   5
   6test_expect_success 'create submodule with protected dash in url' '
   7        git init upstream &&
   8        git -C upstream commit --allow-empty -m base &&
   9        mv upstream ./-upstream &&
  10        git submodule add ./-upstream sub &&
  11        git add sub .gitmodules &&
  12        git commit -m submodule
  13'
  14
  15test_expect_success 'clone can recurse submodule' '
  16        test_when_finished "rm -rf dst" &&
  17        git clone --recurse-submodules . dst &&
  18        echo base >expect &&
  19        git -C dst/sub log -1 --format=%s >actual &&
  20        test_cmp expect actual
  21'
  22
  23test_expect_success 'remove ./ protection from .gitmodules url' '
  24        perl -i -pe "s{\./}{}" .gitmodules &&
  25        git commit -am "drop protection"
  26'
  27
  28test_expect_success 'clone rejects unprotected dash' '
  29        test_when_finished "rm -rf dst" &&
  30        test_must_fail git clone --recurse-submodules . dst 2>err &&
  31        test_i18ngrep ignoring err
  32'
  33
  34test_done