# Managing git submodules with git.rake

**URL:** <https://www.ruby-forum.com/t/managing-git-submodules-with-git-rake/136852>\
**Category:** Rails\
**Created:** [May 6, 2008, 9:12pm UTC](https://www.ruby-forum.com/t/managing-git-submodules-with-git-rake/136852 "2008-05-06T21:12:49Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![miked](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/ed655f/32.png) [@miked](https://www.ruby-forum.com/u/miked)\
**Post date:** [May 6, 2008, 9:12pm UTC](https://www.ruby-forum.com/t/managing-git-submodules-with-git-rake/136852/1 "2008-05-06T21:12:49Z")

</div>

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:  
[Flavor-iffic: Managing Git Submodules With git.rake](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](http://github.com/mdalessio/git-rake/tree)

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.

Comments welcome.

-m
