submodule: correct error message for missing commits
authorStefan Beller <sbeller@google.com>
Tue, 26 Sep 2017 18:27:56 +0000 (11:27 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 28 Sep 2017 05:15:20 +0000 (14:15 +0900)
commit2d94dd2fc6428ff5f0a18223aadaaecd49fd18e5
tree88b268cb04b414544bca2de3bebc27ecc9ec3251
parent7451fcdc0d3cffdb9aa79d2651830b44a8e052d6
submodule: correct error message for missing commits

When a submodule diff should be displayed we currently just add the
submodule objects to the main object store and then e.g. walk the
revision graph and create a summary for that submodule.

It is possible that we are missing the submodule either completely or
partially, which we currently differentiate with different error messages
depending on whether (1) the whole submodule object store is missing or
(2) just the needed for this particular diff. (1) is reported as
"not initialized", and (2) is reported as "commits not present".

If a submodule is deinit'ed its repository data is still around inside
the superproject, such that the diff can still be produced. In that way
the error message (1) is misleading as we can have a diff despite the
submodule being not initialized.

Downgrade the error message (1) to be the same as (2) and just say
the commits are not present, as that is the true reason why the diff
cannot be shown.

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
submodule.c
t/t4059-diff-submodule-not-initialized.sh