![](/static/253f0d9b/assets/icons/icon-96x96.png)
![](https://programming.dev/pictrs/image/8140dda6-9512-4297-ac17-d303638c90a6.png)
Yeah exactly that. Conceptually it’s far superior to manyrepos. But it does have downsides:
git
will be slower, and it doesn’t really have great support for this way of working. I mean it provides raw commands for partial checkouts… but you’re kind of on your own.- You can’t realistically view a
git log --graph
any more since there will be just way too many commits. Though tbf you can get to that state without a monorepo if you have a big project and work with numskulls who make 50 commits for a small MR and don’t squash.
Also it’s not really a downside since you should be doing this anyway, but you need to use a build tool that sandboxes dependencies so it can guarantee there are no missing edges in your dependency graph (Bazel, Buck, Pants, Please, Landlock Make, etc.). Otherwise you will be constantly breaking master
when things aren’t checked in CI that should be.
Neat hack, but IMO this just loses waaay too many features and UX that Github et al. have. Only masochists will use this. Here are a few I can think of:
git push
(I’ve still going to want to make a branch), and clicking on the “create a PR” link. But you’ve also made updating a PR way more of a pain - it wasgit push
, now it’s… I dunno some long command I don’t remember and looking up a PR number in the web interface?// Dave: I agree
under comments?packages.json
)I guess some of those are fixable, but overall this seems like a clever hack but very clunky.
I guess it’s better than a mailing list at least.