Stefan Beller <sbeller@xxxxxxxxxx> writes: > We _do_ show the submodule as demonstrated by the code sample above > if we possess the objects. > ... >> That sounds like a very sensible and user-centric behaviour to me, >> and "not initialized" sounds like the right message to give in such >> a case (as opposed to "commits not present"---even the user told us >> they are not interesting, we may have them, so "not present" is not >> just incorrect but irrelevant because that is not the reason why we >> are not showing). > > So you are saying we should instead do: > > if (not active) > message = "not initialized" > if (problems with object loading) > message = "commits not present" > ... I think I am. >> Or are you saying that even the user told us that the submodule is >> not interesting, if we had "init" it earlier even once, we show the >> difference and with a wrong label? Showing the difference sounds >> like a bug that is more severe than using a wrong label to me. > > I looked through the man pages and they never specify if submodule > activeness affects the superproject diff, so we'd want to change that > so that only active submodules are diffed. I would think that would match my expectation more closely; if I explicitly told Git to "deinit", and still see the diff to distrat me (i.e. the current behaviour), I would probably feel that it is a bug. I do not know about others who are used to the current beehaviour, though. Do people actively "deinit" a submodule that they once "init"ed, and if so for what purpose? It's not like they want to release the disk resource, so I'd imagine the only reason is to reduce the distracting noise, but I'd prefer to hear from real users rather than speculating. Thanks.