LWN.net Logo

Ten-year timeline part 6: almost to the present

Ten-year timeline part 6: almost to the present

Posted Feb 29, 2008 4:23 UTC (Fri) by njs (guest, #40338)
In reply to: Ten-year timeline part 6: almost to the present by nix
Parent article: Ten-year timeline part 6: almost to the present

>I didn't say `Linus invented all this stuff'. I said that he got the representation right,
not that nobody else had ever done the same. I'm not such a fool as to imagine that nobody
else ever tried content-addressable storage in version control systems before. (However, I'm
fairly sure nobody ever released a VCS in such an embryonic state before: generally release
schedules for VCSes are quite conservative because people hate losing their work. It's
impressive that git has managed to go so long with an aggressive release policy with so few
incidents of significant data loss.)

Point of history: Git got the representation (by which I'm assuming you mean the core
file/tree/commit blob design) right because it copied the hard parts from Monotone.  Monotone
got the representation right because it started with a good idea (i.e., "hey, let's use
content-addressing to decouple storage and history representations"), and then evolved it over
several years (including two major representation rewrites, one of which added the crucial
"commit" object), using monthly time-based releases (i.e., "oops, it's Monday, time to ship
whatever's in trunk"), and was self-hosting from ~the very beginning -- I think before Graydon
had even received a single outside patch.  It did all this with continuous field upgrades for
all storage/representation changes, minimal segfault bugs -- I'm remembering ~2-4? (mtn is
written in C++) -- and no reported data loss by any users.

None of which is to say that git is unimpressive -- I don't subscribe to the peculiar notion
whereby any achievement seen once becomes unimpressive forever after -- and git is a
well-done, well-maintained project containing other innovations and that is making a lot of
users happy.  That's always impressive :-).  ATM, in fact, it's doing a better job of it than
monotone is -- probably as a result of Linus's emphasis on building a tool that would be
immediately useful under extreme conditions, while monotone was noodling around trying to
invent about three different novel technologies.  Turns out that one suffices.  Oops.  OTOH,
it's not like this is the first time an idea had to jump projects to move from research to
mainstream; they reward different approaches.  It's entirely possible that if monotone had
started out with the attitude that made git so successful, neither would exist at this point.
So... *shrug*.

(You just *wait* 'til we get those other two nailed down, though!  Muahaha!)


(Log in to post comments)

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds