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