In my previous post Creating a Scalable Application Ecosystem, I described how to create an ecosystem of applications, libraries, and services rather than isolated applications. With this paradigm, you should end up with smaller, more manageable projects, but how do you manage all of these separate codebases? The Android project has this same problem in the extreme and to allow developers to easily work with multiple git repositories, they developed a tool called repo. Repo augments git, allowing developers to download multiple projects with repo init, update a set of projects with repo sync, simultaneously create a branch across multiple projects with repo start and push all of the changes with repo upload.
I'm based out of Cincinnati, OH
I work as a Sr. Computer Scientist at Adobe