How can we ensure Bazaar (bzr) remains active?

Eli Zaretskii eliz at gnu.org
Mon Sep 21 08:14:18 UTC 2015


> From: Torsten Bronger <bronger at physik.rwth-aachen.de>
> Date: Mon, 21 Sep 2015 09:41:15 +0200
> 
> I think one should go even one step further.  From
> <https://www.stationary-traveller.eu/pages/bzr-a-retrospective.html>:
> 
>     Could bzr have a second life as another UI for the Git file
>     format, becoming part of the Git world rather than competing
>     with it? Sure, I guess. Several people, including myself, have
>     suggested this in the past. It would however still require a
>     fair amount of work - bzr-git is unfinished. If it's just the UI
>     you're after then it is probably easier to simply build a
>     bzr-like Git UI from scratch, directly on top of something like
>     libgit2 or Dulwich.

I question the validity of that conclusion.  Dulwich is IMO out, as
it's too slow, even when parts of it are in C.  I used to use bzr-git
quite a lot, and found it unbearably slow for any significant fetch
from a Git repository.

I never worked with libgit2, but I very much doubt that you could have
a Git with bzr UI, because the crucial details below the UI are too
significant.

Let me give you just a small example: merging.  Git by default commits
the result of a successful merge, while bzr never does.  How do you
paper over this fundamental difference on the UI level?

And how do you preserve the "mainline" with a Git back-end, which has
no such notion?  The "mainline" is a significant advantage of bzr over
Git, so giving it up makes no sense if we want to keep the bzr flavor.

I think trying to bring a bzr UI to Git back-end is a dead end.

> The one thing that's great about bzr is its UI, and the one thing
> that's weak about git is its UI.

IME, it's not just the UI that is different.  Bazaar's UI is better
(for some people, myself included) because its underlying model suits
those people's mental model and workflows better, and also because bzr
is built around a more-or-less comprehensive model of which ops should
and shouldn't be presented by a VCS.  By contrast, Git is a tremendous
hodge-podge of weakly related commands (take a look at the git-core
directory: there are about 170 separate executables there!), which are
thinly held together with the "porcelain" level UI.  That's why Git is
immensely more powerful and flexible, but also immensely more complex
and confusing to many who don't need that power.

So I very much doubt that it's practical to hide Git behind bzr-like
UI.  They are just too different in their ideology, which will
certainly show through the UI.

I'd love to see bzr actively developed again, though.  I think it is a
very good dVCS, and would love to see it becoming better yet.



More information about the bazaar mailing list