Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I actually heard this: "Linus Torvalds, the creator of Git". That's like saying "George Lucas, director of American Graffiti".


I dunno, git spawned a revolution in how we think of version control (even mercurial came out of the initial discussions of git); that's a pretty big deal.


Mercurial and Git shipped at about the same time. It's not fair to say Git inspired Mercurial.


Both git and mercurial arose out of discussions on the linux kernel mailing list related to a replacement for BitKeeper. (E.g. cf. http://lkml.indiana.edu/hypermail/linux/kernel/0504.3/1404.h...)


Distributed version control existed long before git, and any monotone enthusiast will tell you Torvalds got it wrong.


Care to explain how Linus got it wrong? I've never used Monotone, but searching the web I could't find a single thing in which Monotone was better than Git (although I did find information of the opposite kind).


Monotone got the user experience right. The git interface simply exposes the atomic operations of commit-tree management. Monotone, on the other hand, provides an abstraction on top of that which maps quite well to how people actually use a DCVS. Doing anything more than the standard edit-commit-fetch-merge-push cycle on git is like casting an arcane spell. The equivalent operation on monotone is either a) nothing, because monotone automatically handles that high-level operation for you, or b) intuitively obvious and simple to construct.

More fundamentally, monotone records both manifest and diff history, which from the git point of view is entirely redundant. However it allows monotone to do much more sophisticated merge handling than out-of-the-box git, and better captures the human intent of a changeset. It allows monotone to correctly handle copy operations, for example, which is relevant in the context of history-rewriting operations.


Fair point. How about, git spawned a revolution in how the masses think of version control?

I've never used monotone, but my vague impression is it was indeed influential / ahead of its time, but didn't have enough of a focus on performance to really catch on. But that's totally uniformed speculation on my part :)

(And certainly kernels existed long before Linux... ;)


That is a fair assessment of monotone, both in terms of influence and performance, although recent releases have gotten better now that there are a few select large projects that use it (Pidgin, primarily).

Monotone uses a sqlite relational database for the code repository, with built-in synchronization/replication. It uses a PGP-like PKI and digital signature system for its trust rules (allowing for a trust-less store-and-forward architecture that still none of the other DCVS systems support). It redundantly stores both revision history and content diff views (two equivalent ways of serializing DCVS trees), and automatically keeps the two synchronized. It is extremely smart about merging and branch handling (the monotone-dev list is wonderful place to find analysis of edge-case merge behvior). And it did all of this back in early 2003.

Monotone was ahead of its time. It's only “problem” was that its core developers chose to focus on correctness and user interface over optimization, delaying work on performance and scalability until such work would actually be needed... which was much sooner than they expected. Linux was orders of magnitude larger than anything that had been done with monotone at the time. This may be an urban legend, but I've heard it said that ‘git’, the ‘stupid version control system’ was named such in part because it was a grotesque simplification of monotone's sophisticated framework, which Linus Torvalds did hold in high regard.

Monotone is the Lisp of distributed version control... venerable and unsurpassed by anything that followed, but utterly irrelevant today.


Performance was the primary reason Torvalds chose not to use Monotone: i.e. it was too slow for large projects.


To be fair it's more like George Lucas, director of Star Wars ep. 1 if we are going chronologically.


Let's be fair to Git. It's more like George Lucas, producer of Raiders of the Lost Ark.


George Lucas, founder of Industrial Light and Magic.


It was Sun who created Jar Jar.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: