3 ms·
Not only are they “a pain” but I see git submodules as the technical equivalent of a “Big Tent” political party trying to fit mutiple divergent factions into a
by gorgoiler 2y ago
Not only are they “a pain” but I see git submodules as the technical equivalent of a “Big Tent” political party trying to fit mutiple divergent factions into a single entity.
At some point someone in a submodule repo is going to go rogue and make something incompatible with the bigger picture. Psychologically, they’ve merged to their trunk so as far as they are concerned their change is complete. Task done, “mission accomplished”. Yet until it’s also in the parent repo’s trunk, it might as well still be on a branch.
In a monorepo, the rogue coder would instead still be on a branch. They’re done when their branch works and their change is merged (er, ff’d!) onto the one true main, not before.
None of this applies to FOSS projects. Those are Big Tents where political negotiations are constantly required to keep various democratically equal projects aligned.
In the corporate world though I am entirely happy with a one party state running a top down, planned economy of N year plans following CEO-Thought, and with a single repository.
- friendzis 2y agoIn trunk based development libraries do break product code, yes, which is (and should be recognized this way) 100% intentional. The other alternative is leaf based development where you have dependency hell because you can't force product code to update libraries. Pick your poison - change management is not an easy topic.