On choosing Bazaar for DVCS

I’ve decided to use Bazaar as my distributed version control system for personal projects. Like everyone else, I was also considering Git and Mercurial. Here’s a nice comparison of DVCS systems. My priorities are (1) that it be easily portable across platforms and (2) it be very easy to use. Git loses on both counts, while the other two are tied. I don’t care at all about performance because my projects are small. The feature that broke the tie between the other two is renaming. Bazaar treats renaming as a primitive operation, whereas Mercurial treats it as a copy and delete. The result is that Mercurial doesn’t show the log of the “copied” file unless you explicitly say “hg log –follow”. In the beginning of my projects, I rename files and directories a lot to make things more manageable. I want a system that makes it easy and obvious. Nevertheless, I’ll be forced to use all the other DVCS tools if I want to tweak open source code. So picking Bazaar doesn’t change the fact that I still have to learn the other two. Thankfully, their main operations are so similar that it shouldn’t take long to figure them out.[ed: I'm using etckeeper with Git to track changes in my /etc directory]

About these ads

4 Responses to “On choosing Bazaar for DVCS”

  1. Jakub Narebski Says:

    …while Git does rename (and copy) *detection*, and not *tracking*. Note also that rename tracking is usually done using some kind of inode / file-ids system, with its usual disadvantages.

  2. mamelouk Says:

    thanks!

    what about darcs ?

  3. Pinku Says:

    darcs, monotone and arch have small user communities, so I didn’t even look at them.

  4. Bazaar Flow « Handwaving Says:

    [...] flow is an implementation of a nice branching model for software development. I use Bazaar for private projects, but in a totally simplistic way. Here are notes to myself for using git flow [...]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.

%d bloggers like this: