#!/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_grep 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_grep ! 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_grep ! 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_grep ! warning stderr
'
test_done