bzr's advantages over hg

Masklinn masklinn at masklinn.net
Thu Oct 20 15:33:46 UTC 2011


On 2011-10-20, at 17:21 , Levi Bard wrote:
>>> * Multiple workflows applicable in different situations, all compatible
>>>  with each other, which can be chosen by the individual developer
>>>  without requiring anyone other collaborator to adjust, and changed
>>>  later just as easily.
>> 
>> hg does not restrict useable workflows.
> 
> Well, it does and it doesn't: mercurial has multiple branching and
> hosting models that enable/encourage various workflows.
> However, these all tend to force projects to all agree on a single
> model and workflow to be used across the project.
> Because bzr lets these things be client-specific, it's much easier for
> each user to have his own workflow.
bzr "lets these things be client-specific" by not having a number of
features, including both in-repository branching concepts: the only way
to branch in bazaar is to clone, and what you do locally on your clones
is your business. That's about the only thing.

Beyond that, working on a bazaar project is not any more a "free for all"
than working on an hg or a git project: if your project asks for patches
you provide patches, if your project asks for merge proposals you provide
merge proposals and if your project asks for bundles you provide bundles.

The way you provide these is entirely irrelevant to the project as long
as you do.

>>> * Specifically, bound branches allow all the advantages of centralised
>>>  repository workflow, chosen when you want it and again without needing
>>>  anyone else to do anything special to support it.
>> 
>> Not really an advantage, it's just as likely to confuse users as not.
> 
> Actually, this is a really nice feature for people who have reliable
> connections and are working on server-mirrored branches.
I really don't agree. Reliable connections is not really the issue,
throwing away the advantages of a DVCS and potentially conflicting with
distributed usage because the user does not understand it is.

> Another big winner, in my experience, is shallow clones.
meh.

> I think there are some ideas that could be shared with bzr, without
> compromising hg's design nor ideals.
> There's no shame in admitting that somebody else has done something well.
Absolutely not, but after having worked with bazaar for 23 months now (due
to my current job using bazaar) I *truly* do not believe bazaar has
done anything "well", where "well" would be defined as "superior to
mercurial and/or git and/or darcs" (since those are the other DVCSs I
know acceptably well).

Of course you can disagree, and feel free to, but I don't think bound
branches are a good feature for a DVCS, I think directory history
tracking (or at least how bazaar does it) is utterly terrible and a
source of far more pain than needed, I think bazaar's hiding of right
parents is a pain in the ass and I think its overuse of sequential
identifiers is grounds for firing whoever took this decision out of
a cannon, ...



More information about the Mercurial mailing list