Correct faulty recommendation to use "git submodule deinit ." when
de-initialising all submodules, which would result in a strange
error message in a pathological corner case.
* sb/submodule-deinit-all:
submodule deinit: require '--all' instead of '.' for all submodules
@ -11,6 +11,10 @@ subcommands of git submodule.
@@ -11,6 +11,10 @@ subcommands of git submodule.
. ./test-lib.sh
test_expect_success 'submodule deinit works on empty repository' '
git submodule deinit --all
'
test_expect_success 'setup - initial commit' '
>t &&
git add t &&
@ -899,7 +903,8 @@ test_expect_success 'submodule deinit works on repository without submodules' '
@@ -899,7 +903,8 @@ test_expect_success 'submodule deinit works on repository without submodules' '
test_expect_success 'submodule deinit --all deinits all initialized submodules' '
git submodule update --init &&
git config submodule.example.foo bar &&
git config submodule.example2.frotz nitfol &&
test_must_fail git submodule deinit &&
git submodule deinit --all >actual &&
test -z "$(git config --get-regexp "submodule\.example\.")" &&
test -z "$(git config --get-regexp "submodule\.example2\.")" &&
test_i18ngrep "Cleared directory .init" actual &&
test_i18ngrep "Cleared directory .example2" actual &&
rmdir init example2
'
test_expect_success 'submodule deinit deinits a submodule when its work tree is missing or empty' '
git submodule update --init &&
rm -rf init example2/* example2/.git &&
@ -1007,6 +1025,10 @@ test_expect_success 'submodule deinit is silent when used on an uninitialized su
@@ -1007,6 +1025,10 @@ test_expect_success 'submodule deinit is silent when used on an uninitialized su
test_i18ngrep ! "Submodule .example. (.*) unregistered for path .init" actual &&
test_i18ngrep ! "Submodule .example2. (.*) unregistered for path .example2" actual &&
test_i18ngrep "Cleared directory .init" actual &&
git submodule deinit --all >actual &&
test_i18ngrep ! "Submodule .example. (.*) unregistered for path .init" actual &&
test_i18ngrep ! "Submodule .example2. (.*) unregistered for path .example2" actual &&