diff options
Diffstat (limited to 't/t7414-submodule-mistakes.sh')
-rwxr-xr-x | t/t7414-submodule-mistakes.sh | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/t/t7414-submodule-mistakes.sh b/t/t7414-submodule-mistakes.sh new file mode 100755 index 0000000..101afff --- /dev/null +++ b/t/t7414-submodule-mistakes.sh @@ -0,0 +1,40 @@ +#!/bin/sh + +test_description='handling of common mistakes people may make with submodules' + +TEST_PASSES_SANITIZE_LEAK=true +. ./test-lib.sh + +test_expect_success 'create embedded repository' ' + git init embed && + test_commit -C embed one +' + +test_expect_success 'git-add on embedded repository warns' ' + test_when_finished "git rm --cached -f embed" && + git add embed 2>stderr && + test_i18ngrep warning stderr +' + +test_expect_success '--no-warn-embedded-repo suppresses warning' ' + test_when_finished "git rm --cached -f embed" && + git add --no-warn-embedded-repo embed 2>stderr && + test_i18ngrep ! warning stderr +' + +test_expect_success 'no warning when updating entry' ' + test_when_finished "git rm --cached -f embed" && + git add embed && + git -C embed commit --allow-empty -m two && + git add embed 2>stderr && + test_i18ngrep ! warning stderr +' + +test_expect_success 'submodule add does not warn' ' + test_when_finished "git rm -rf submodule .gitmodules" && + git -c protocol.file.allow=always \ + submodule add ./embed submodule 2>stderr && + test_i18ngrep ! warning stderr +' + +test_done |