Ping Yin [off-list ref] writes:
Originally, the submodule workflow enforces 'git init' in the beginning
which copies submodule config info from .gitmodules to $GIT_DIR/config.
Then all subcommands except 'init' and 'add' fetch submodule info from
$GIT_DIR/config and .gitmodules can be discarded.
However, there may be inconsistence between .git/config and .gitmodules
when always using 'git init' at first. If upstream .gitmodules changes,
it is not easy to sync the changes to $GIT_DIR/config.
Maybe you missed an earlier thread with Roman Shaposhnik where this issue
was discussed and a solution more in line with the original intent of the
design of the submodule system was mentioned (actually I should not take
credit for that suggestion as it was not mine but somebody else mentioned
it back when git-submodule command was initially being designed. I only
recalled there was that one issue in the discussion)?