I have around 20 different repositories. Many are independent and compile as libraries but some others have dependencies among them. Dependency resolution and branching is compl
As the author, git slave
could work in this situation. How to use it would depend on whether you had control over repos a
b
and c
; by which I mean you could cause the branch strategy to be synchronized between them so that the v2 branch meant the same thing for everyone. If this is true, I would strongly urge git slave
since you can essentially treat it as one large project.
If you could not mandate a common branch and tag strategy then you would impose one, which is getting more towards a lightweight version of the workflow that jthill suggested with git submodules
. Specifically, you could have your own repo tracking a
b
and c
and create a branch a
branch in each one, which would correspond to whatever the correct branches for each slave repo is. Like git submodules
you would have to manually bring each repo up to date (merge in this case). However, you would not need to do the mother-may-I step of making the commit in the superproject. Using this technique is not the slam-dunk use case of having the slave projects share the same branch name when they do their own development, but it will work.
As jthill said, continuous integration is pretty much orthoginal to the question of how to wrangle the projects.