Why doesn't Facebook use git?

- Introduction:
- Facebook doesn't use Git, and this video explores the reasons behind this decision.
- Reasons for not using Git:
- Facebook's large codebase and the need for efficient handling of massive repositories.
- Git's limitations in handling huge repositories efficiently.
- Scaling issues with Git in the context of Facebook's requirements.
- Graphite and Stacked Diffs:
- Graphite provides a solution for large repositories through "stacked diffs" in Mercurial.
- Stacked Diffs allow for selective fetching of changesets, enabling more efficient workflows.
- Mercurial's support for stacked diffs aligns with Facebook's needs better than Git.
- Comparison with Microsoft and Windows Source:
- Microsoft faced similar scalability issues with Git before adopting a custom solution for the Windows Source repository.
- The Windows Source repository showcases the challenges of managing large codebases with Git.
- Facebook's use of Mercurial:
- Facebook scaled Mercurial effectively to meet the demands of its massive codebase.
- Engineering efforts to optimize Mercurial for Facebook's use case.
- Conclusion:
- Facebook's decision to use Mercurial over Git was influenced by the need for efficient handling of large repositories and tailored solutions like stacked diffs offered by platforms like Graphite.