News for hackers. Stuff that matters.
Re:Improving large monorepo performance on GitHub by klodolph on Tuesday March 16, 2021 @12:56PM (#26479461)
My understanding is that neither Git nor Mercurial can do this well out of the box, and FB and Google both have their own extensions to Mercurial to make this possible (because even though Mercurial is often slower than Git, it’s extensible)

e.g. https://facebook.github.io/watchman/ - used as part of Facebook’s Mercurial solution, I think.

Re:Improving large monorepo performance on GitHub by vtbassmatt on Tuesday March 16, 2021 @01:56PM (#26480407)
Git also has a file system monitor interface which can use Watchman. We (GitHub) are working on a native file system monitor implementation in addition - https://github.com/gitgitgadget/git/pull/900.
Re:Improving large monorepo performance on GitHub by jauer on Tuesday March 16, 2021 @01:57PM (#26480422)
And then from mercurial extensions to our own server, mononoke, which apparently has been moved under the Eden umbrella: https://github.com/facebookexperimental/eden
Re:Improving large monorepo performance on GitHub by jayd16 on Tuesday March 16, 2021 @03:39PM (#26481805)
I thought Google used some custom fork of perforce.
Re:Improving large monorepo performance on GitHub by klodolph on Tuesday March 16, 2021 @04:46PM (#26482712)
From what I understand, Piper is not a fork of Perforce, but instead a completely different system with the same interface. You know, built on top of a BigTable or Spanner cluster instead of whatever Perforce uses.

The Mercurial extensions are then an alternative client for Piper.

Re:Improving large monorepo performance on GitHub by dlp211 on Tuesday March 16, 2021 @08:56PM (#26485269)
It's my understanding that it started as a fork of perforce, Google bought a source license for perforce. Whether you'd still call a fork of perforce anymore is like asking if a Computer is the same computer after you've replaced all the components over the years.
Re:Improving large monorepo performance on GitHub by arthurdenture on Tuesday March 16, 2021 @11:29PM (#26486183)
That was the case many years ago (extremely customized perforce server), but after that there was a full rewrite as a distributed system built on Bigtable etc. - https://cacm.acm.org/magazines/2016/7/204032-why-google-stor... is an overview. It wasn't a ship-of-Theseus type situation where they incrementally replaced components.