@clacke Rosinstall seemed promising, but I wanted to avoid the dependency. I skimmed over wstool, but I should take a closer look.
(I'm still dealing with yocto and bitbake. Bitbake seems like clever idea taken too far: We'll just make everything a string combined with a framework that operates behind the scenes on those strings that does stuff. The relationship between the things in your strings and the actions they cause is not clear by inspection.)