about summary refs log tree commit diff
path: root/third_party/git/t/t7417-submodule-path-url.sh
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/t/t7417-submodule-path-url.sh')
-rwxr-xr-xthird_party/git/t/t7417-submodule-path-url.sh17
1 files changed, 17 insertions, 0 deletions
diff --git a/third_party/git/t/t7417-submodule-path-url.sh b/third_party/git/t/t7417-submodule-path-url.sh
index 756af8c4d6fb..f7e7e94d7b6c 100755
--- a/third_party/git/t/t7417-submodule-path-url.sh
+++ b/third_party/git/t/t7417-submodule-path-url.sh
@@ -25,4 +25,21 @@ test_expect_success 'fsck rejects unprotected dash' '
 	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