|
|
|
|
|
by jmillikin
1229 days ago
|
|
> However, the conceit is that "in the same repo" means you can
> "change them together."
In a monorepo you shouldn't be making changes to independent components in a single commit. That's how you end up being forced to roll back your change because you broke someone else's service.If you're making a backwards-incompatible change to an API then you need to: 1. Make a commit to your library to add the new functionality, 2. Send separate commits for review by other teams to update their projects' code, 3. Wait for them to be approved and merged in, then merge a final cleanup commit. If your repository is designed to enable a single commit to touch multiple independent projects then it's not a monorepo, it's just a single-project repo with unclear API and ownership boundaries. |
|
I'd love for it to be a strawman. But I do keep finding them.
You do get me to question what a mono repo is. I've never seen one that wasn't essentially an attempt at treating a company as a large project. Akin to a modular codebase with a single build. Could be a complicated build, mind you. Still, the goal has always been a full repository build.