home of the madduck/ blog/

Joey, SCMs are actually not so much topics of flame wars right now. It's possible that they will happen, but for the moment, most everyone is very open-minded about the new stuff we got to see in the last two years. This is an interesting thread with a lot of qualitative comparisons between git and baz/bzr. And I suppsed you know the thread on -devel.

Nobody knows what will be in 2 years time. But at the moment it's good to see the baz/bzr crowd actively at work (and very cooperative), git breaking records, and alternatives like mercurial and darcs influencing the big ones as well as drawing from them. I don't mean to rank here.

I have not made up my mind at all yet, though (unlike others). I know for sure it won't be SVN because that's the single most painful thing that has happened to me ever since I became a Plone developer, and if it's just due to the necessity for guidelines like this. Ask the Plone release manager(s). But what I do know is that Ulf Asklund's dissertation needs some followup work, and I might just be inclined to do it. Others seem to be interested in working with me on this, which is a good start. Also, David A. Wheeler will soon have to put fingers to keys again and update his excellent overview.

If I had to make up my mind right now, I'd go with gravity and say that the one to watch for is mercurial. But bzr is driven by smart people and looks promising too, but they are on a commercial schedule. I sure hope that tools like Tailor will grow with the projects to facilitate interchange.

For Debian, it may be worth to stick with baz/bzr because it's what Ubuntu will use. If it's feasible for us, we'll profit from their work on it, and also make their lives easier. I know this is not what some of you want to hear. That's why I said: "if it's feasible for us."

And finally, let me get rid of a rant: SCM is not equal to version control. Most of the above tools implement only a fraction of SCM. But then, this quote from IRC just hits it right on the head:

"SCM" as used classically is not a very useful concept for free software types anyway, so... it's just one of those buzzword, and specifications-in-binders, and Professional Software Configuration Management Professional Development Conferences-laden areas whose connection to actually, y'know, getting things done is often obscure.

Amen. Let's just try to get things done. :)