Subject: How to manage multiple repos using submodules?

From: Andrew Wong <[email-masked]>
Date: Sat, 16 Apr 2011 12:45:27 -0400

It seems like submodule isn't meant for this, but many people seems to 
use submodule to link many smaller repos together. With this setup, I 
imagine whenever someone pushed a small repo, they're /supposed/ to push 
the big repo as well. This way, if I simply update the big repo and do a 
"git status", git will tell me that which of the smaller repos are out 
of date. However, this is only reliable if everyone remembers to push 
the big repo. If someone pushed a smaller repo, but forgot to push the 
big repo, then I won't be aware that some of the smaller repos are 
out-of-date until I push.

I suppose one way is to do a check/auto-update with pre/post commit 
script to enforce that the big repo is always up-to-date. Another way is 
to use the "submodule foreach" to do a fetch and status on smaller ones, 
but this doesn't seem very elegant.

So, I'm wondering how do people who use submodules this way manage all 
their repos? Or how to (reliably) get a good sense of the state of the 
small repos? Or maybe I shouldn't be using submodules this way at all?