Welcome to my corner of the web. Here you'll find my ramblings about faith, church, drupal, Geeks and God (my podcast), and my other unrelated interests.

While you can subscribe to all posts here from the Subscribe link on the right, there are two other main feeds. There is the drupal and other technology feed along with the faith and church feed.

My Bazaar Core Development Workflow

Posted on: Fri, 2009-08-28 09:08 | By: matt | In:

bazaar_logo.pngMy old Drupal core development workflow revolved around CVS. Anytime I'd want to work on a new feature I'd do a CVS checkout of Drupal core and start working on the new feature. If I, or someone else, was working on 2 features that overlapped in code I would have to deal with massive conflict resolving or just have to wait until the other feature was committed or abandoned. Oh, and I had to be connected to the Internet to grab a new CVS checkout. That all changed when I switched to Bazaar for my core development work.

Some Of What I Can Do With Bazaar

Bazaar, a distributed version control system, let's me do a lot of things that simply can't be done with CVS or SVN. Here's a short and incomplete list:

  • I don't need to be connected to the Internet to create new feature branches.
  • Merges are much better making them useful. That makes branches cheap, easy, and useful.
  • I can make branches of other feature branches allowing me to layer patches and issues.
  • Did I mention merges are better. This means a lot less conflicts to deal with.

Setting Up Bazaar

Setting up Bazaar in fairly simple. You can do it with installers, through your favorite distribution os Linux, and with Macports. Once you have Bazaar installed there are two great places to look for how to setup Bazaar. First, there is the drupal handbook pages on the topic. Then, I would recommend reading David Strauss blog post about setting up a Bazaar repo of drupal head.

But, what about Git?

Yes, you can do the same things in Git and Mercurial. They are great distributed version control systems as well. I'd suggest Bazaar as a first choice because that's the direction the drupal community is currently leaning.

Comments

#1 Git vs Bzr is subjective

People who made the switch to a DVCS earlier switched to bzr, but almost everyone I know making the switch in the last year has been moving to git.

I personally know more core developers using git, and stacked git especially is wonderful for core development. http://drupal.org/node/337933

I think we can all agree though that CVS is just not doing it for us anymore.

#2 I'm A Git Fan Too

I'm a git fan. I use it regularly. If someone wants to use Git for core development more power to them. My hope is that Drupal dev switches to Bzr, Hg, or Git. I'm not holding my breath but, I hope. If someone is using one of these it's going to be a better experience than CVS.

#3 Sounds like GNOME vs. KDE

Or worse, vim vs. emacs. ;)

I think it's one of those situations where you have two tools that can accomplish the same thing, but they have enough differences that users can go with their preferences.