Theory
Theory: Git Storage is Packs Plus a Database of Metadata
Repo growth hurts fetch time, gc, and inode counts. The forge DB (users, issues) scales on a different axis than packfiles.
Invariants
- Local disk vs NFS vs Ceph vs S3 changes latency of
git fetch. - Gitaly-style git servers shard repos, not tables.
- CDNs help clone of public objects; auth still hits origin.
packfiles / alternates / object storage
metadata DB (issues, users) separate scale plan
What can break
- NFS for lots of tiny Git objects without cache.
How to read this chapter
Growth, storage options, fetch, DB, CDN/geo, benchmarks.