Browse Source
Using "git add d/i/r" when d/i/r is the top of the working tree of a separate repository would create a gitlink in the index, which would appear as a not-quite-initialized submodule to others. We learned to give warnings when this happens. * jk/warn-add-gitlink: t: move "git add submodule" into test blocks add: warn when adding an embedded repositorymaint

10 changed files with 113 additions and 12 deletions
@ -0,0 +1,37 @@
@@ -0,0 +1,37 @@
|
||||
#!/bin/sh |
||||
|
||||
test_description='handling of common mistakes people may make with submodules' |
||||
. ./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 submodule add ./embed submodule 2>stderr && |
||||
test_i18ngrep ! warning stderr |
||||
' |
||||
|
||||
test_done |
Loading…
Reference in new issue