Hey all,
If you're like me and use git submodules heavily (I vendor everything,
and every plugin is a submodule), you might like to hear about code
published this morning to make it easier to manage multiple git
submodules in a shared-server environment.
It's imaginatively titled 'git-rake', and it does Good Things like:
* aggregates submodule commit logs into the superproject commit log
* abbreviates output for git-status and other common commands (filters
out what you don't need to see)
* ensures you don't publish references to local-only submodule commits
(which, if you haven't done it, is painful)
* intelligently synchronizes all submodules with the shared repo
server (no unneeded network requests)
* allows arbitrary commands to be iterated over all submodules
* a few other nice sanity checks and commands
If you think the rake tasks might be useful, or you're wondering why
dealing with many submodules can be a pain, check out the announcement
post:
http://flavoriffic.blogspot.com/2008/05/managing-git-submodules-with-gitrake.html
and, of course, the github project:
http://github.com/mdalessio/git-rake/tree
<shameless-plug>
We've been using it internally at my company, Pharos Enterprise
Intelligence (http://www.pharos-ei.com/), for the last 5 months and
it's been a huge timesaver for us (each of our client projects have
14+ submodules, so that's motivation for you). We've been looking for
opportunities to open-source some of our code, and hey, this is where
we're starting.
</shameless-plug>
Comments welcome.
-m