t7400: testcase for submodule status on unregistered inner git repos

We have test coverage for "git submodule status" output in
various cases, i.e.

  1) not-init, not-cloned: status should initially be "missing"
  2) init, not-cloned: status should be "missing"
  3) not-init, cloned: status should ignore the inner git-repo
  4) init, cloned: status should be "up-to-date" after update
  4.1) + modified: status should be "modified" after submodule commit
  4.2) + modified, committed: status should be "up-to-date" after update

the case 3) is not covered yet.

Test that submodule status reports an inner git repo as unknown, while
it is not added to the superproject.  This covers case (3).

Signed-off-by: Peter Kaestle <peter@piie.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Peter Kaestle 2020-02-03 00:32:44 +01:00 committed by Junio C Hamano
parent 3b2885ec9b
commit f38c92452d

View File

@ -55,6 +55,21 @@ test_expect_success 'add aborts on repository with no commits' '
test_i18ncmp expect actual
'
test_expect_success 'status should ignore inner git repo when not added' '
rm -fr inner &&
mkdir inner &&
(
cd inner &&
git init &&
>t &&
git add t &&
git commit -m "initial"
) &&
test_must_fail git submodule status inner 2>output.err &&
rm -fr inner &&
test_i18ngrep "^error: .*did not match any file(s) known to git" output.err
'
test_expect_success 'setup - repository in init subdirectory' '
mkdir init &&
(