Here is a (tentative) summary of the whole discussion:
* doing fetch in status is EVIL. Therefore, status should only report
whatever information is available.
* nonetheless, having a "peek" mode seem to be accepted as a useful
feature not only by me.
* changing the output format of git-submodules is not right either,
because it would break existing tools which parses it at the moment.
Proposal
- remove fetch from status, and make the new output enabled when
--verbose is set (can also be set in the config file I guess).
On the symbols side, I propose:
> submodule commit is a direct descendant of the commit in the
superproject
< submodule commit is a direct ancestor of the commit in the
superproject
+ no direct relation between submodule commit and commit in the
superproject
? the commit in the superproject cannot be found in the submodule
(replaces the initial '!' in my patch) A 'M' is appended if the submodule has uncommitted changes
- define a git-submodule 'fetch' subcommand which call fetch in each
submodule and runs the verbose mode of git-status (can be disabled by
a --quiet option).
Comments ? (I'm sure there are some ...)
Sylvain