BzrVsMercurial, choosing between the two

David Cournapeau david at ar.media.kyoto-u.ac.jp
Sun Jan 6 13:45:13 GMT 2008


Hi,

    I am myself a bzr user for some time now, and I am really satisfied 
with it. For various reasons, for a project I am a regular contributor 
to, I had problems with subversion, and so suggested to start a 
discussion about moving to a DVCS. As the underlying projects are 
relatively small (few tens of files, no binary files, etc...), I was 
confident that bzr would be a good contender.
    Now, most people welcome the change to DVCS, but most (basically 
everybody but me) suggested mercurial, or maybe git. I myself used a bit 
mercurial, but not that much; I certainly know bzr much better. If one 
want to choose between the two, it is hard to make a choice: most people 
say they want mercurial because that's what they use, and I can't say I 
have better reasons to recommend bzr; IOW, mercurial works for them, and 
bzr works for me.
    Finding more informations or comparisons was not so helpful:
    - the BzrVsMercurial page is really bad [1]
    - googling on the topic revealed the well known comparisons which 
are not that up to date: bzr is much faster now than it was 6 months 
ago, and is certainly fast enough at least locally for the projects; 
also, renaming issues in mercurial have been solved in recent versions, 
according to mercurial users.

    The project is numpy/scipy, which is an open source project (a cloud 
of projects, more exactly) for scientific computing in python. The 
biggest subversion repository, scipy, has a few thousand files, and the 
subversion history is around 3500 revisions for the trunk.

    Some of the things which matter IMHO, and seem to matter to other 
people:
    - how to make the transition (first making read-only mirrors, 
importing the current history under subversion)
    - availability on major platforms (it must work on windows, mac os x 
and linux. It should be really easy to install on windows/mac os x).
    - availability of a GUI, specially under windows.
    - easy to use for casual developers (may contributors, me included, 
are scientific people before being programmers)
    - integration with trac (we use trac), other ways to display the 
content of branches
    - speed.

I know that bzr is fast enough for the project (I used it personally on 
those projects with bzr-svn). I don't know the status of trac+bzr ? Is 
it something that the bzr developers will work on (Launchpad is not an 
option for us) ? I know bzr works on windows, but the GUI are rather 
primitives compared to TortoiseSvn, for example: is it something the bzr 
community will work on ? (it seems it was a GoC project, but nothing has 
been done since).

Some pages on bzr website are not so helpful: for example, not all tools 
on http://bazaar-vcs.org/BzrMigration seem up to date (does svn2bzr 
still works ? They have not been updated for half a year, period which 
has seen big changes in bzr itself). Finding informations about GUI was 
not so easy either (I personally do not care about GUI, but other, 
specially on windows, do).

I hope this email does not sound too much like criticizing: I personally 
really like bzr, that's the first VCS which worked for me (I always 
found subversion complicated, and the underlying model clumsy), but 
since bzr is now 1.0, I think that those questions (bzr vs mercurial, 3d 
party tools availability) are important, and that the bzr community 
would be interested by the feedback,

cheers,

David

[1] It sounds like advertisement, no real fact, which has the tendency 
to put developers away really fast, specially in the open source 
community. I know the page is not supposed to be unbiased, but for 
example, when you say bzr is more adaptive, it would be good to give 
some examples. Same for better merging, renaming issues, etc... I 
understand this is not so easy, because it requires the people writing 
the examples to know both tools well enough.



More information about the bazaar mailing list