Have lots of git repositories? Teensy git-360 is really helpful

UBOS development involves lots of git repositories: our own UBOS code, code to build UBOS, code from various developers with various apps, code to package those apps for UBOS … and most of it is stored in separate git repositories.

The common question: did I check in everything? what did I miss?

Anybody who works with many repositories has encountered this problem. Usually there is some missing check-in in some git repository that you didn’t remember was even involved in what you were doing, or a missed “git push” or something like that. The next thing you know is that you broke the build. Not good. This happens because it’s really hard to “see” the status of all those repositories: manually checking involves just too much typing.

So I wrote a little script called git-360, which has turned out really helpful. It is so little that this blog post is about to have more characters than the script! Basically, you give the script a few directories that might be git directories, and it will tell you what’s going on, such as:

% git-360 ~/git/github.com/*/*

=== uboslinux/ubos-tools ===
Status: clean

=== uboslinux/ubos-virt ===
Status: clean

=== jernst/owncloud-core ===
     M lib/private/request.php

... (lots more)

It can also show branches and tags, compare with tags and few other tricks, and it will learn more I’m sure. You can download it from one of the UBOS git repositories (so we can bundle it with UBOS), but you can easily run it on pretty much any computer that has Perl. License: GPL.

Happy git hacking!