On a sidenote, git itself can also get painfully slow with large monorepos. Hope GitHub can push some changes there as well.
I know FB moved off git to mercurial because of performance issues.
On a sidenote, git itself can also get painfully slow with large monorepos. Hope GitHub can push some changes there as well.
I know FB moved off git to mercurial because of performance issues.
e.g. https://facebook.github.io/watchman/ - used as part of Facebook’s Mercurial solution, I think.
The Mercurial extensions are then an alternative client for Piper.
One very interesting part of that is the effort that has gone into the git commit-graph: https://git-scm.com/docs/commit-graph.
It's part of what makes scalar interesting compared to some of the projects you hear mentioned used inside the FB and Google gates: not only is scalar itself open source, but a lot of what scalar does is tune configuration flags to turn on optional git features such as the commit-graph, sparse checkout "cones", etc that are all themselves directly supported by the git client. Even if you aren't at the scale where it makes sense to use all of the tools that scalar provides, you can get some interesting baby steps by following scalar's "advice" on git configuration.
https://github.blog/2020-01-17-bring-your-monorepo-down-to-s...
Or at least that was the plan at 2016 when I left Google.