Git and Mercurial Both Began in April 2005

Two of the most widely used distributed version control systems, git and Mercurial, were born within days of each other in April 2005, both as direct responses to the Linux kernel losing free use of BitKeeper.

On April 6, 2005, Linus Torvalds posted “Kernel SCM saga..” to the Linux kernel mailing list, explaining that he had “decided to not use BK mainly because I need to figure out the alternatives.” Within days he had written the first version of git to replace BitKeeper’s role in kernel development.

On April 20, 2005, Matt Mackall posted “Mercurial v0.1 - a minimal scalable distributed SCM” to the same mailing list. He described a tool meant “to initially be as simple (and thereby hackable) as possible” and “as scalable as possible,” built as a proof of concept in less than 600 lines of Python over the preceding couple of weeks.

Both posts appear in the same month’s LKML archive, and both projects existed because BitMover had withdrawn the free BitKeeper license that the kernel community had relied on. The kernel chose git; Mercurial went on to power many other projects.