5 ms·
Google published some info about their repository in 2016: https://cacm.acm.org/magazines/2016/7/204032-why-google-stores-billions-of-lines-of-code-in-a-single-
by sltkr 5y ago
Google published some info about their repository in 2016: https://cacm.acm.org/magazines/2016/7/204032-why-google-stores-billions-of-lines-of-code-in-a-single-repository/fulltext https://cacm.acm.org/magazines/2016/7/204032-why-google-stor...
Some choice quotes:
> The Google codebase includes approximately one billion files and has a history of approximately 35 million commits spanning Google's entire 18-year existence.
> Google's codebase is shared by more than 25,000 Google software developers from dozens of offices in countries around the world. On a typical workday, they commit 16,000 changes to the codebase, and another 24,000 changes are committed by automated systems.
Note that this was 5 years ago. If you look at the number of commits over time, it is growing exponentially, about sevenfold over the last 5 years:
https://dl.acm.org/cms/attachment/c219bd10-b97a-402e-bc94-798e909c821c/f1.jpg https://dl.acm.org/cms/attachment/c219bd10-b97a-402e-bc94-79...
If you assume another sevenfold increase over the past 5 years, then they should have around 250 million commits now.
- scottlamb 5y ago> If you assume another sevenfold increase over the past 5 years, then they should have around 250 million commits now. Decent guess. Rate's gone up; they're at about 382 million now. [1] You can see the current number in the PiperOrigin-RevId: on several public repositories that get changes synced from Google's internal Piper. I'm not looking at that paper (as I'm about to walk out the door); one thing to check is if the number there includes just the actual commits or also the pending CL numbers (same concept as Perforce). The number I'm quoting includes both. [1] https://github.com/google/tcmalloc/commit/6f42c40d6ebcf2aeb8c4379da5d6be81bb4c1797 https://github.com/google/tcmalloc/commit/6f42c40d6ebcf2aeb8...
- jeffbee 5y agoThat’s going to be at least some kind of fun when it crosses 2^31.
- ahmedfromtunis 5y agoA bit off topic, but does this mean that each of 25k Google developers has a copy of the entire codebase on their laptops? Or is there a way to cherrypick parts of it?
- fennecfoxen 5y agoIn Perforce you can do that. Indeed, often you have to, as you will have permissions to see only certain paths. One can assume g4 is similar. Paths are also how one does tags and branches on old school tools like Subversion (just copy your branches/master to tags/releaseX and then never change it)
- jeffbee 5y agoNo, because the repo was 90TB as of 2015. Also because that company’s policy forbids any source code on mobile devices, or at least did when I was there. Note that perforce is not like git. One does not generally clone the whole repo. You create client views that contain the files you want to edit. Everything else stays on the server.