f4609b896f
This also bumps the stable nixpkgs to 20.09 as of 2020-11-21, because there is some breakage in the git build related to the netrc credentials helper which someone has taken care of in nixpkgs. The stable channel is not used for anything other than git, so this should be fine. Change-Id: I3575a19dab09e1e9556cf8231d717de9890484fb
45 lines
1.3 KiB
Bash
Executable file
45 lines
1.3 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
test_description='check handling of .gitmodule path with dash'
|
|
. ./test-lib.sh
|
|
|
|
test_expect_success 'create submodule with dash in path' '
|
|
git init upstream &&
|
|
git -C upstream commit --allow-empty -m base &&
|
|
git submodule add ./upstream sub &&
|
|
git mv sub ./-sub &&
|
|
git commit -m submodule
|
|
'
|
|
|
|
test_expect_success 'clone rejects unprotected dash' '
|
|
test_when_finished "rm -rf dst" &&
|
|
git clone --recurse-submodules . dst 2>err &&
|
|
test_i18ngrep ignoring err
|
|
'
|
|
|
|
test_expect_success 'fsck rejects unprotected dash' '
|
|
test_when_finished "rm -rf dst" &&
|
|
git init --bare dst &&
|
|
git -C dst config transfer.fsckObjects true &&
|
|
test_must_fail git push dst HEAD 2>err &&
|
|
grep gitmodulesPath err
|
|
'
|
|
|
|
test_expect_success MINGW 'submodule paths disallows trailing spaces' '
|
|
git init super &&
|
|
test_must_fail git -C super submodule add ../upstream "sub " &&
|
|
|
|
: add "sub", then rename "sub" to "sub ", the hard way &&
|
|
git -C super submodule add ../upstream sub &&
|
|
tree=$(git -C super write-tree) &&
|
|
git -C super ls-tree $tree >tree &&
|
|
sed "s/sub/sub /" <tree >tree.new &&
|
|
tree=$(git -C super mktree <tree.new) &&
|
|
commit=$(echo with space | git -C super commit-tree $tree) &&
|
|
git -C super update-ref refs/heads/master $commit &&
|
|
|
|
test_must_fail git clone --recurse-submodules super dst 2>err &&
|
|
test_i18ngrep "sub " err
|
|
'
|
|
|
|
test_done
|