3 ms·
> Lack of proper releases, testing, and versioning results in unending checkout-fu to figure out what commits for each of 20 libraries will work for each other.
by jauer 6y ago
> Lack of proper releases, testing, and versioning results in unending checkout-fu to figure out what commits for each of 20 libraries will work for each other.
Admittedly I'm basing this on my experience in a very large monorepo environment, but there's no figuring out which commits will work with each other. Every commit with every library will work, otherwise it doesn't get committed.
Yes, this involves massive CI infra and tooling to aid in refactoring.
You want to make a breaking change to a lib? Great, it's on you to update every piece of code that calls it.
It's great when you can control every piece of your infra, but I totally get how it's unfeasible (and maintainer hell) for the distro community.
- loopz 6y agoDistros are great for off-the-shelf software especially if you don't care which version you get too much. When versions matter, you quickly get into dependency-hell. So long-lived software tend to stabilize, and then remain unchanged. K8s, go and even ruby, tend to change and evolve. It's usually a bad idea to pull such software from distros then, even if available. The means to get software is simply too different, and it's a non-problem for everyone but completist distro maintainers.