4 ms·
I actually heard this: "Linus Torvalds, the creator of Git". That's like saying "George Lucas, director of American Graffiti".
by mahmud 15y ago
I actually heard this: "Linus Torvalds, the creator of Git". That's like saying "George Lucas, director of American Graffiti".
- weaksauce 15y agoTo be fair it's more like George Lucas, director of Star Wars ep. 1 if we are going chronologically.
- dilap 15y agoI 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.
- maaku 15y agoDistributed version control existed long before git, and any monotone enthusiast will tell you Torvalds got it wrong.
- dilap 15y agoFair 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... ;)
- maaku 15y agoThat 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.
- nene 15y agoCare 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).
- maaku 15y agoMonotone 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.
- mcantelon 15y agoPerformance was the primary reason Torvalds chose not to use Monotone: i.e. it was too slow for large projects.
- durin42 15y agoMercurial and Git shipped at about the same time. It's not fair to say Git inspired Mercurial.
- dilap 15y agoBoth 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.html http://lkml.indiana.edu/hypermail/linux/kernel/0504.3/1404.h...)