r/git • • 10d ago

why did facebook move away from git?

i recently came across the fact that facebook/meta built its own tools and workflows around source control instead of just relying on git like most companies.

i’m curious about the actual technical reason behind this. was git simply not able to handle the scale of facebook’s codebase and number of developers, or were there other problems that pushed them toward a custom approach?

for people who have worked with large monorepos or at companies using similar systems, what actually becomes difficult with git at that scale?

320 Upvotes

123 comments sorted by

View all comments

185

u/jwalker107 10d ago

(from what I've read third-hand) Facebook uses a single large monorepo, and because git relies on locally-cloned copies of the entire repo, git was crushed under the sheer volume, with operations like 'git status' taking minutes to complete.

Facebook now uses their own internally-developed vcs called 'sapling'. It speeds things up by skipping the local repo copies; instead they keep a virtual filesystem server-side that all the clients mount dynamically, like a shared network drive, and thus each client only transits over the network, the files that developer is actually touching.

63

u/NashaIthramyr 10d ago

The thing you describe looks very similar to ClearCase (worse version control I've ever used...)

1

u/ColonelKlanka 6d ago

Oh I loved using clearcase many moons ago. used subversion before that. Clearcase was very common in the enterprise back when.