Not a holy war - just some salient facts

Isaac Jurado diptongo at gmail.com
Fri Apr 9 13:50:30 CDT 2010


I'm going to keep this email and show it to my work mates.  We are using
bazaar purely as a centralized VCS ("bzr checkout" and so on); at least,
I've been told so.  I bet Subversion can do a better job.

Replying Masklinn:
>
> In my experience (been using bazaar since November because employer
> uses it, previous experience was mostly with mercurial and darcs with
> a bit of git) the slowness you experienced with bzr check exists
> throughout the software (on some operations, including local-only,
> bazaar manages to feel slower than subversion).
>
> bazaar just feels slow to and through, and I'm talking bazaar 2.0 &
> 2.1 using the latest and greatest repository format (2a). It was
> apparently even worse before.
>
> And — again in my experience — bazaar does have many other issues:
>
> * though that's a matter of taste, I'm not fond of bazaar's log format
>   (only displays the "main" branch of development with the merge
>   commits, merged branches are hidden by default, you have to use a
>   special switch to display them and the commits on the merged branch
>   are going to be indented relative to the left-hand column. Doesn't
>   look like a linear log at all, but doesn't look like graphlog
>   either). It's also awfully slow
> * bazaar relies on a linear integer index for its revision numbering
>   (much like hg's local-only revision numbers) and then adds some
>   plaster to try to make it hold (fwiw that doesn't work). Results in
>   ugly and misleading revision numbers you can't share. And then (a
>   common pattern in bazaar) they added stuff on top of this to try to
>   unbreak it, in this case a revision id which is a weird
>   concatenation of the committer's username, a timestamp and a
>   random-looking string)
> * bazaar's wire format is both dumb and verbose, it's not rare to get
>   a megabyte of data for a 3-lines-patch revision. That also means
>   creating clones from remotes is *very* slow.
> * speaking of patches, bazaar deals very badly with creating or
>   applying patches, there are some commands for that in `bzrtools`
>   (some kind of weird/huge "grab bag" plugin full of commands not
>   really related to each other) but they're not very good
> * code quality and behavior is inconsistent (for instance `bzr serve`
>   will not output any error under any condition, even when you're not
>   in any kind of serveable directory)
> * the lack of local branches (multiple heads within a clone) is very
>   annoying
> * the addons system seems far less flexible than hg's, and there are
>   very few useful bundled addons
> * the bazaar community seems to love using weird terms and adding lots
>   of complexity on simple concepts (e.g. bazaar loom, which I thought
>   was supposed to be an mq equivalent, I didn't actually manage to
>   understand what it was about because I mostly stopped reading when
>   the doc said it was going to migrate my repository format)
> * very low support for history edition. I know the hg community isn't
>   as big on history edition as git's, but mq and histedit are
>   serviceable, fast and generally work well when one needs more than
>   basic rebasing.  I haven't managed to find any such history-edition
>   tools for bazaar so far.
>
> I'm sure there are others, but I have to go back to work. Anyway all
> in all after ~5 months working with it I'm *not* fond of bazaar
> compared to the other DVCS on the "market".
>
> Your mileage may vary, I hear others have less issues with it, I don't
> know what experience they have with git, hg or darcs.
>
> And launchpad, which is usually used along with bazaar, would deserve
> a full book all on its own.

-- 
Isaac Jurado

"The noblest pleasure is the joy of understanding."
                                  Leonardo da Vinci


More information about the Mercurial mailing list