logoalt Hacker News

kccqzylast Tuesday at 8:55 PM2 repliesview on HN

I’m not sure why you made the logical leap from having all code stored in a single repo to updating/deploying code in lockstep. Where you put your code (the repo) can and should be decoupled from how you deploy changes.

> you will have the old system using the old schema and the new system using the new schema unless you design for forwards-backwards compatible changes

Of course you design changes to be backwards compatible. Even if you have a single node and have no networked APIs. Because what if you need to rollback?

> Maybe a regression causes something only they use to break. Now the entire org is held hostage by the version needs of one team.

This is an organizational issue not a tech issue. Who gives that one team the power to hold back large changes that benefit the entire org? You need a competent director or lead to say no to this kind of hostage situation. You need defined policies that balance the needs of any individual team versus the entire org. You need to talk and find a mutually accepted middle ground between teams that want new features and teams that want stability and no regressions.


Replies

ajanuarylast Tuesday at 9:33 PM

The point is that the realities of not being able to deploy in lockstep erode away at a lot of the claimed benefits the monorepo gives you in being able to make a change everywhere at once.

If my code has to be backwards compatible to survive the deployment, then having the code in two different repos isn’t such a big deal, because it’ll all keep working while I update the consumer code.

show 1 reply
catlifeonmarslast Tuesday at 10:49 PM

> This is an organizational issue not a tech issue.

It’s both. Furthermore, you _can_ solve organizational problems with tech. (Personally, I prefer solutions to problems that do not rely strictly on human competence)