5 ms·
One thing to consider is that monorepo tooling is (outside of Google) still pretty immature. At Square, we have one main Java "monorepo", one Go "monorepo", an
by zellyn 10y ago
One thing to consider is that monorepo tooling is (outside of Google) still pretty immature.
At Square, we have one main Java "monorepo", one Go "monorepo", and a bunch of Ruby repos. The Java repo is the largest, by a huge factor (10x the Go repo, for example).
The Java repo is already noticeably slow when doing normal git operations. And I'm told we've seen nothing of the pain the folks at Twitter have had with git: their monorepo is huge.
We periodically check to see how the state of Mercurial and Git is progressing for monorepo-style development. Seems like Facebook has been doing interesting stuff with Mercurial.
But I still miss the fantastic tooling Google has internally. It really is so much better than anything else I've seen outside.
- huherto 10y agoHow big is your mono repo ? We have ~90k lines of java code. I don't think it will be a problem unless it grows ten times. We spend time grooming it. Removing old code, etc. I believe it is the case for most companies. Unless you are google, facebook, square, etc.
- zellyn 10y agoOur Go monorepo has 1,325,332 lines of non-comment code, according to `cloc`, although about half of that is generated protobuf code. I'm still waiting for `cloc` to finish on the Java repo…
- durin42 10y agoIt's likely that Mercurial would scale for you today, using Facebook's stack. Drop me an email if you'd like to chat sometime.
- kyrra 10y agoMozilla may be a good company to look at that is open source and has a large codebase. They use a monorepo for Firefox (in mercurial). mozilla-central is around 154,000 files. Here's the cloc of mozilla-central: -------------------------------------------------------------------------------- Language files blank comment code -------------------------------------------------------------------------------- SUM: 102542 2311779 2493273 13090450 --------------------------------------------------------------------------------
- brianwawok 10y agoI bet even at 10 times you are fine. At 100 times maybe...
- neandrake 10y agoWon't the performance of version control software largely depend on the size of project history and not necessarily LoC? I work on a project where we just surpassed 100k commits in Mercurial, which includes largefile assets. Cloning is a lengthy process - other operations are also slow such as push/pull/stat and occasionally rebase.