Slashdot Mirror


Linus on GIT and SCM

An anonymous reader sends us to a blog posting (with the YouTube video embedded) about Linus Torvalds' talk at Google a few weeks back. Linus talked about developing GIT, the source control system used by the Linux kernel developers, and exhibited his characteristic strong opinions on subjects around SCM, by which he means "Source Code Management." SCM is a subject that coders are either passionate about or bored by. Linus appears to be in the former camp. Here is his take on Subversion: "Subversion has been the most pointless project ever started... Subversion used to say, 'CVS done right.' With that slogan there is nowhere you can go. There is no way to do CVS right."

2 of 392 comments (clear)

  1. One reason to use SVN - you can't afford better by arma300 · · Score: 0, Redundant

    Yes, yes, yes, yes... all this lies again about how good SVN or CVS are...

    Yes, they are pretty good... only when you can't afford something better!!

    Clearcase is much, much better, but it is not for programmers wanabees...
    you *MUST* understand what you're doing... yes, it is like saying Visual
    Basic is better than C/C++ or Java just because it is simple... Come on!! It
    is crap, just like CVS and SVN are crap.

    Clearcase is much, much better than cheap-free-version-control-software.
    SurroundSCM is better, and systems like PlasticSCM or Accurev even better...
    The downside? You HAVE TO pay...

    The same old story... free is good, when you pay you get better.

  2. Re:git by cduffy · · Score: 0, Redundant

    cross-platform requirements - If this includes win32, yes, that's a weakness -- and one shared by not so many of its competitors these days (where "its competitors" are Mercurial, Bazaar-NG, and the like).

    a centralized repository - bzr does this well, so long as you educate your users to use "checkout" instead of "get". (Coming from the primary centralized systems, that's the common command anyhow). Can't comment on git; haven't used it.

    a different development model - There's no reason a distributed SCM can't be used effectively in centralized development models -- none. What you might need to do in that kind of case is set up an automated "patch queue manager" process which merges and tests changes on demand from those authorized to make them; software to do this is readily available. OTOH, it gives you the additional tools to manage workflows that a centralized SCM can't.

    or simply want UI tools & IDE integration - Yeah, that's an issue with pretty much anything that isn't CVS or SVN (and I'm completely with Linus regarding svn's inadequacy; it's almost 1.5 and they still don't have merge tracking?!). That said, Trac is improving its support for foreign SCMs, so at least that part of the tools-and-integration piece should be a reasonably solved problem in not-so-very-long.

    Git is very, very fast -- and for folks with extremely large trees and very little patience, that makes it nearly the only gig in town. (Yes, there are folks who use CVS for large trees; it wasn't designed for the case, and they're using the wrong tool for the job. Update time being O(n) on number of files makes things unpleasant -- never mind the locking or concurrency or history preservation issues). To be sure, it's not all things to all people -- but neither is anything else in the field. That doesn't mean folks who have worked on DSCMs don't get to pitch loogies at CVS and its descendants; it just means that folks looking for a SCM to use don't have a magic bullet available.