Perspective

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.

~15 min

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.

millions/day

git invocations from automation and developer services — each previously backed by its own full checkout, duplicated across the fleet.

77–90%

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 liveA bare clone on each backend node's disk, synced by pushes plus a 5-minute fetch loopImmutable segments in S3-compatible object storage; nodes hold nothing
Scaling a hot repoMore nodes with more clones; pre-warmed checkout and sandbox pools to hide provisioningAny 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 stateA contract: a miss triggers a synchronous origin sync; stale answers always carry X-Weft-Staleness — never a silent stale miss
An idle repo costsIts share of clones, pools, and sync traffic on provisioned machinesA few cold objects. Create a million repos; pay for the ones doing work
The interfacegRPC 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 itBuild and staff it — GitFarm is Uber's internal platformPoint CI at a mirror this afternoon

The GitFarm workloads, on Weft

Read-heavy automation

→ 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.

CI & merge operations

→ 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.

Command sessions

→ 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.