Arch versus SVN for the debian developer

Posted by – 30/08/2005

I’ve been using arch for some time. I am used to CVS as well (since a lot of projects just use that), but I converted my local cvs (that used to hold my debian packages and a couple of other personal projects) into arch during the first appearance of tla-buildpackage (I already used cvs-buildpackage by the time).

Some days ago, Canonical’s Mark Shuttleworth were in Porto Alegre for a meeting. He went on talking about Ubuntu’s baz and bzr, and all the joys of decentralized version control. I share a lot of his joy for the thing, but I don’t know if Arch is the tool for it. For almost a year, Otavio Salvador has been bugging me about Subversion, and just a week before Mark’s coming I decided to give it a try…

For a person used to CVS, Subversion is great! The same familiar concepts everybody were forced to learn many years ago. When I was about to convert my arch repository to Subversion, two things have crossed my mind: first, decentralization; second, this post.

Decentralization is a key feature I was neglecting while using Arch. It’s powerful, and it was providing me with (little) help from some friends (that would be much more difficult without it). I doubt I would miss Arch’s decentralization at all, but I began to be unconfortable with the feeling I was going backwards history… Then I decided to give svk a try. I hate perl, which were preventing me to try it, but svk is really a good piece of software (despite perl), and it adds the most important feature Arch have (IMHO): star-merge! With star-merge, decentralization can be accomplished, and all the virtues of a good Subversion system are kept.

Madduck’s post, ITOH, is much a harder challenge to my ongoing will to fully adopt Subversion/SVK. I do think baz is great, and I’ve tried it some time ago with my own arch repository and I think it feels confortable to the average CVS user, and it keeps off almost all of the Arch’s idiosyncrasies. While I think a lot of good work is being done in bzr (baz’s next version), the fact that it doesn’t retain backwards compatibility with Arch repositories is making me kind of afraid. Just a year ago I would agree blindly with madduck: Arch would be the dominant standard for SCM (and all SCM should be decentralized). Baz could, very much likely, be pushing Arch ahead. But now that we have a good Subversion repository implementation (fsfs – relying on the filesystem), and svk providing star-merge, I cannot accept those points anymore. Add to that feeling that bzr will not support Arch standard, and you have my decision: I am moving to Subversion.

In the post-modern world, everything changes quickly…. Maybe my points would be proved wrong tomorrow, and I will just have to move back to Arch (or to bzr)… Even worse! I may have to move to some other thing completely different! While this doesn’t happen, I’ll take te opportunity to learn more. Version Control and Source Code Management surely can be challenging topics WRT collaboration development… Git and Linux are here to prove it 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *