When each commit shares a common timeline it is really easy to rebuild build 1 with the exact same dependencies.
When each commit shares a common timeline it is really easy to rebuild build 1 with the exact same dependencies.
These are the "obvious" solutions to this problem, the first ones the average software architect would reach for. What would lead them to ignore these options and choose a monorepo instead, if not for what I mentioned above — the ability to make atomic changes to cross-cutting concerns?
First you commit/push to one repository
Then you update the submodule pointer in the parent repository
They would have been, except the experience working with them was somewhat problematic for those who have been down this path, and the message that many devs have received is to avoid them. I kind of agree with going to submodules, but confidence doesn't seem to have been rebuilt.