Branching in a Monorepo
summary
Meta implements directory branching that keeps multiple copies of a subtree side by side and stores metadata in commit headers linking copies to their sources. Operations are subtree copy, subtree graft (cherry-pick), subtree merge and subtree import (vendoring), which remap changes across paths into ordinary linear commits so main history stays linear. Build/CI (Buck) and code review integrate with the metadata, reducing CI cost and enabling safe experimental branches.
AI-written summary · about
chapters (9)
- 0:00Monorepo branching challenges
- 4:53Traditional branching fails
- 7:00Directory branching solution
- 10:09Tooling for directory branches
- 12:35Vendoring with subtree
- 14:40Real-world benefits
- 16:45Directory branching in Git
- 19:12Design philosophy
- 19:58Q&A
related talks
07mStreamlining Development with the Monorepo Ecosystem
19mKeynote: Why Monorepos
29mMonorepos, are they right for you?
50mScaling Monorepos
19mEscaping Chaos: Strategies to Move from Polyrepo to Monorepo
40mOne Codebase to Rule Them All: A Monorepo Journey
31mThe monorepo: self-organising codebases and automatic scaling
19mKeynote: Why Monorepos
