mercurialbazaarbitbucketlaunchpad

bzr/launchpad vs. hg/Bitbucket


Very soon we are going to start on open-source (py+qt) project which is supposed to be multi-platform (we're using FreeBSD as native platform) and we're not sure which DVCS/hosting to use.

In the past we were using darcs for very long time, but moved away from it due to not having adequate public hosting available. Played for some time with Monotone - nicely designed, but mostly niche today. Fossil is nice, but it uses non-standard wiki and its tracker is functional, but we expect more.

Considering that we won't work on kernel-like sized project we do not nee Git which we consider too complex to deal with it, especially for potential contributors which might use Windows OS and prefer GUI tools.

So, the story comes to Bazaar/Launchpad and Mercurial/Bitbucket...

Here are some pro/cons which we gathered together, but would like to hear if we missed something which might help us to decide...

Bazaar pro/cons:

The last point is probably not to important 'cause there are nicks and there is colo-branches plugin, so one can get same/similar functionality.

The most problematic quirk we find in Bazaar it its revision numbers scheme and problem which can arise if one pushes from feature branch into upstream which would change revids.

Maybe it's a lesser problem when using Launchpad...

As far s Launchpad is concerned: - it has very nice bug tracker with email interface - it's (maybe) more project-oriented than Bitbucket - no private repos as with Bitbucket - no wiki for projects - bug (https://bugs.launchpad.net/launchpad/+bug/240067) is more than 3 years old and still with 'Low priority'. LP is the only one amongst {LP,Sourceforge,Bitbucket, Google, Github} which lacks this feature and it really sucks and degrades, otherwise, nice hosting solution.

What we've found in The other camp...

Mercurial is:

However, what we like the most over Bazaar is, as we believe, great merging capabilities without the hassle of changed revids due to revno:hash schema.

As far as Bitbucket:

At the end, let's say that there are some projects which we are interested in which are under Git @github, so we would like to use single DVCS which can helps us inter-operate with git@github projects.

We find that bzr-git plugin is very capable and do not have experience with hg-git.

Although there is bzr-hg plugin (not as mature as bzr-git), but we do not know about something like hg-bzr except hg's convert extension which does the job of hg-bzr conversion.

Is there any important feature which we did miss having important consequence in deciding about the two?

Finally, we use DVCS for all our needs (simple project, writings...) and we'd prefer to settle on one DVCS/hosting which can serve all our purposes and be useful in contributing to git(hub) projects as well.

What do you recommend?


Solution

  • Update: Seing this comment makes it easier for us to abandon bzr/LP and embrace hg/bitbucket.