3 ms·
No silver bullet here, I think. It's definitely the case that a mega monorepo doesn't, in practice, have the atomic commit property. E.g. once you add owner fi
by titzer 8y ago
No silver bullet here, I think.
It's definitely the case that a mega monorepo doesn't, in practice, have the atomic commit property. E.g. once you add owner files and separate code reviews, you're in for a world of hurt. Case in point, Google developed an internal tool to split cross-cutting CLs into manageable pieces, wrangle all the owners and approvals, presubmits, etc, and then submit the CL piecemeal--i.e. not atomic.
Chromium uses a different model. It just DEPS's in other repos at pinned versions. That has a whole other set of problems.
- EricBurnett 8y ago(Disclaimer: at Google) It's not quite so black and white. It's true that repo-wide refactorings often get carved into little changes and so aren't made atomically, but they're the exception rather than the rule. Any small change, e.g. changing an interface and the 5 callers of it, _can_ be made atomically. And changing code that's reused a small number of times is a far more common case then changing core libraries the whole company uses, so atomic submit ends up being hugely valuable.