[Mailman-Developers] Should we move to Bazaar?

Stephen J. Turnbull stephen at xemacs.org
Thu May 3 14:03:33 CEST 2007

Edward Elhauge writes:

 > Would you compare Bazaar to GnuArch (tla):
 >     http://www.gnuarch.org/arch/
 > Is your Bazaar a different branch of Arch?

Yes.  The bazaar Barry is talking about is commonly called "bzr" (the
name of the command) or "bazaar-ng".

It's similar in that it is a distributed SCM.  If you like *Arch* as
opposed to the features offered by all the dSCMs (git, Mercurial,
Darcs, ...), you may be distressed by bzr, as internally it's quite
different from Arch.  The repo model is very different, many of Arch's
commands are gone or work differently, etc.  YMMV, of course; it
depends on how much your use cases depend on those aspects of Arch.

The pluses to bzr, compared to larch, ArX, tla, or bazaar (aka baz),
in order of importance to the seasoned tla user:

1.  Fast.  The different repository model allows much faster
    transactions, both locally and across the internet.

2.  Everyday workflow (branch, routine merge, commit, new project,
    ...) is very similar to tla.  But then, it's very similar to git
    or darcs, too. :-)

3.  The "best available" diff algorithm for code.  It's marginally
    slower than GNU diff or python difflib for very small diffs, but
    traditional diffs are O(N^3) while patiencediff use by bzr is
    O(N^2).  Furthermore, it is claimed by its author (Bram Cohen, who
    you may know better as "Mr. BitTorrent") to give much more
    readable output in many cases.  It is plug compatible with other
    diffs (ie, can be tuned to give diff -c or diff -u output), so it
    seems likely that other projects (Darcs is considering it right
    now) will adopt it, at least as an option.  It generally produces
    larger diffs, but if you prefer -U 3, you obviously aren't
    interested in minimizing diff size. :-)

4.  Better error reporting and warnings.  Not that that's difficult
    compared to tla. :-(

More information about the Mailman-Developers mailing list