HackerTube

THE VIDEO SHELF · monorepos

Why Google Stores Billions of Lines of Code in a Single Repository

Rachel Potvin describes the scale of Google's codebase and its custom monolithic source repository. She explains the reasons for the monorepo model, the tooling that makes it workable, and its tradeoffs.

Why HN readers recommended it

The go-to reference in monorepo and trunk-based development discussions, recommended as a firsthand account of how Google manages source control.

This is a summary from the source dataset, not an endorsement by Hacker News or the video creator.

Video & recommendation details

Creator / channel
@Scale
Topic
monorepos
Format
talk
Level
intermediate
HN recommenders in dataset
2
HN mentions in dataset
6
Recommendation years in dataset
2016–2022

These counts and years describe the included Hacker News records; they are not YouTube views or the video’s publication date.

From the original HN conversations

Excerpts from the recorded comments. Follow each source for the full comment and surrounding discussion.

  • It's common practice for folks building Go binaries (but not libraries) to check in the code for their dependencies. So whenever you build Docker, you get the same thing unless Docker made a change (either by changing Docker itself or explicitly checking in an upgrade …

    twotwotwo on Hacker News · 2016-07
    In Go Packaging Proposal Process
  • Google doesn't use perforce anymore. They have a custom in-house SCM that has various interfaces wrapped around it. I'd recommend this video that describes it. [VIDEO]

    kyrra on Hacker News · 2017-01
    In Trunk-Based Development
  • Googler opinions are my own. I also highly recommend this ACM article talking about our source control from 2016. [LINK] There's also a YouTube video which is linked from the wired article that is good. [VIDEO]

    kyrra on Hacker News · 2022-05
    In Google is 2B lines of code and it's all in one place (2015)

Summaries, classifications and recommendation records are from the HackerTube source dataset. Read about this library and its limitations.