Hacker News new | ask | show | jobs
by digitaltrees 36 days ago
If your codebase can’t fit on a single developer dev machine it’s too big.
2 comments

You mean like Teslas multi terabyte repo is not normal?
I think it's obvious that multi terabyte repos are not the norm.
How did they even manage to generate a terabyte sized repo, that's crazy. Do they have something written up on how it's structured and why they'd even go that route?
A terabyte is ~220 thousand books (1000 pages, 50 rows, 100 columns) uncompressed. VCS generally store objects compressed.
It couldn’t be broken in to domain specific components?

Listen, I am a rails developer, so a monolith doesn’t scare me, and yet, there are limits. Why does it need to be a multi terabyte monolith?

Ever work on a AAA game?
Even a large AAA game should be able to be cloned to a machine. You don't need to clone history, just use --depth to specify the number of commits you want.

Obviously a 20 year git repo with all commits is going to be massive, but you don't need that locally.

Also, it seems like it would be reasonable for a AAA game to version control assets separately from code.

That probably mostly assets, no?
My last project was about 400Gb, and probably 2M lines of C++. The days size is mostly assets but there’s still a lot of code.
>2M lines of C++

Even with a git history, wouldn't that only be maybe a few hundred MB?

Dunno, we use perforce. The 499GB is assets.
Probably, but you want to version control assets too.

People usually mention git-lfs at this point, but that is always annoying to use in practice. There is also shallow-clones and sparse-checkouts, but these only mitigate the problem as there is no way around cloning at least one revision completely with git.