Subject: Linking multiple Git repositories for version tracking

From: "James Beck" <[email-masked]>
Date: Fri, 08 Jan 2010 12:03:58 -0500

Hi,

I'm developing firmware that is composed of multiple projects. Each  
section of the firmware has it's own git repository (each section  
correlates to a physical processor). But the firmware as a whole is  
getting to the point where I have to remember which version of Firmware A  
is compatible with Firmware B. If I add a feature to B that requires some  
tweaks in A, I need to know that both A v3.04 and B v2.7 need to be used  
together.

I'm starting to move into alpha with this code, so I really need to have a  
system that keeps track of compatible firmware versions. The best I can  
come up with is a plain text file (or Excel spreadsheet) that lists the  
overall firmware version, and the Git hash for each individual project.  
That way, if I want to load up a particular firmware version, I can  
checkout each hash for that version. Seems foolproof, but not terribly  
easy, and somewhat annoying.

I know submodules might be used, but it's not super obvious how to make  
their paradigm work nicely here. (You check out a version you want, and  
then list all the submodule git hashes for that version? What happens if  
one hash needs updating? Do you branch it?) It seems more complicated than  
I'd like.

But this can't be a problem that only I have. What have you done to keep  
track of software bundle versions?

Thanks!
James