hn.today

Redesigning Source Control at Anthropic

anthropic.com419 points412 comments
Screenshot of Redesigning Source Control at Anthropic

Rapid growth in agent-driven development pushed Anthropic’s git-based monorepo past human-scale assumptions: merges rose from ~2,500 to over 30,000 per day, the main branch history approached 100 GB, and naive checkouts would have generated untenable traffic. To handle this, Anthropic built Scion and migrated the monorepo in five months, alongside a new code-review surface (Antique), code search, and a richer IAM. The core idea was to accept that almost all clients are online agents, so the system centralizes commit creation and heavy metadata queries on scalable servers, exposing programmatic APIs so many consumers no longer need full local clones.

Scion’s architecture centers on server-side changesets (write-ahead-log entries that list changed files with content-addressed blobs) and separately computed “derived data” (blame, path histories, skip lists) that can be computed eagerly or deferred. There are no packfiles, refs are minimized, and commits/rebases happen lock-free on the server so costs scale with change size, not repo size. A lightweight scn client fetches specific trees and blobs (supporting sparse and virtual checkouts), and servers act as cacheable workers backed by Spanner. The result is much higher throughput, simpler operations at scale, cheaper incremental commits, and programmatic source-control access that enables automated CI, bisecting, and revert pipelines without maintaining hundreds of mirrors or full local repositories.

Read on anthropic.com412 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Programming

your C is not standard C

your C is not standard C

Standard C has many incompatibilities with how C is implemented in real-world compilers like gcc and clang, leading to non-conformance by default. These differences include handling of asm keywords, floating-point rounding modes, and support for standard pragmas, which are often ignored or unsupported by compilers. (sebsite.pw)

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.