Mercurial Announced (April 2005)

On April 20, 2005, Matt Mackall posted a message to the Linux kernel mailing list titled “Mercurial v0.1 - a minimal scalable distributed SCM,” introducing what would become the Mercurial version-control system. It was, in his words, an early proof of concept whose goals were “to initially be as simple (and thereby hackable) as possible,” to be “as scalable as possible,” and to be “memory, disk, and bandwidth efficient.”

The announcement is striking for how much it already did in how little code. Mackall reported that the working prototype could clone, branch, and merge repositories, “all in less than 600 lines of Python,” and included benchmarks such as committing the Linux 2.6.10 tree in 27 seconds and performing a local hardlink clone in 1.5 seconds.

The timing was no accident. Earlier in April 2005, BitMover had announced it was withdrawing the free version of BitKeeper, the proprietary distributed tool the Linux kernel had been using. That left kernel developers searching for a replacement, and Mercurial was one answer.

The other answer was git, which Linus Torvalds had begun only days earlier. The near-simultaneous appearance of two distributed version-control systems in the same month, from the same crisis, makes April 2005 a turning point in the history of how programmers track and share their work.

Sources

Last verified June 8, 2026