Uber built GitFarm. You shouldn't have to.
In 2025 Uber published GitFarm, their in-house "Git as a Service": a centralized git client in the cloud, because at their scale every automation system keeping its own repository checkout had become ruinous. It is excellent engineering — and the strongest public validation yet of the idea Weft is built on: git belongs behind a service, not on every machine's disk.
What Uber measured
The numbers from their post describe the disease precisely — and every organization with heavy CI and automation has a smaller case of the same one.
to clone their Go monorepo — with 6 CPU cores, 32 GB of memory, and over 40 GB of disk consumed per system just to maintain repository state.
git invocations from automation and developer services — each previously backed by its own full checkout, duplicated across the fleet.
resource reduction after centralizing: one read-heavy service went from 70+ cores to 16 and from 400–600 GB of memory to 32 GB.
All figures from Uber's engineering blog, linked above. The conclusion is theirs; the applause is ours.
Same diagnosis, different cure
GitFarm centralizes the machines: backend nodes each keep an on-disk bare clone per repository, plus pre-warmed pools of checkouts and sandbox containers, kept eventually consistent with upstream. Weft centralizes the data: repos live in object storage as immutable segments, and any stateless node serves any repo with an empty disk. That one fork changes almost everything downstream.
| GitFarm (per Uber's post) | Weft | |
|---|---|---|
| Where repos live | A bare clone on each backend node's disk, synced by pushes plus a 5-minute fetch loop | Immutable segments in S3-compatible object storage; nodes hold nothing |
| Scaling a hot repo | More nodes with more clones; pre-warmed checkout and sandbox pools to hide provisioning | Any node serves any repo — add stateless nodes, nothing to warm or rebalance |
| Freshness | "Bounded staleness"; no single global freshness guarantee — sessions fetch explicitly when they need current state | A contract: a miss triggers a synchronous origin sync; stale answers always carry X-Weft-Staleness — never a silent stale miss |
| An idle repo costs | Its share of clones, pools, and sync traffic on provisioned machines | A few cold objects. Create a million repos; pay for the ones doing work |
| The interface | gRPC command sessions in sandboxes (git protocol not the front door) | Stock git clone/fetch/push plus a REST API — every CI runner already speaks it |
| How you get it | Build and staff it — GitFarm is Uber's internal platform | Point CI at a mirror this afternoon |
The GitFarm workloads, on Weft
→ Weft Mirror
Ownership scans, code indexing, compliance sweeps: point them at a read mirror. Clones stream as precomputed byte ranges; your origin never feels the load; the freshness contract makes it safe unconditionally.
→ Weft Repos
The fetch/merge-base/commit/push sequences GitFarm runs in sandboxes are REST calls here — commit, diff, branch, reset, revert over HTTP, with optimistic concurrency, and every repo still a real git remote.
→ Weft Exec
Arbitrary server-side git sequences with zero local checkouts — GitFarm's core interface, backed by object storage instead of clone pools. In design for existing Mirror and Repos customers.
If you are Uber, build GitFarm.
A dedicated platform team, purpose-built clusters, and a gRPC interface tuned to your monorepo is the right call at that scale. For everyone else, the lesson of the post is simpler: the era of every runner and every bot keeping its own copy of the repository is over. Weft is that lesson as a product — stateless serving from object storage, a freshness contract instead of bounded staleness, and stock git as the interface, so adopting it is a remote URL, not a migration.
GitFarm characteristics are drawn from Uber's public engineering blog post and quoted in good faith; GitFarm is Uber's internal system and trademarked names belong to their owners. This page compares published architecture, not benchmarks — we have not run GitFarm, and Uber has not run Weft.