Echoing a post: bzr vs. git

Martin Pool mbp at canonical.com
Fri Oct 31 06:13:09 GMT 2008


It's an interesting and thoughtful post, if also a bit disappointing to read.

Certainly a year or two ago these comparison threads would turn into
rancorous flamewars all over, and I'd ask that that does not happen
here.  The point of this list is to help people with bazaar, and help
develop bazaar.

bzr-svn seems to generate really mixed experiences: some people are
rapturously happy with how it lets them get bzr features (better
merging, offline commits, bzr send) on top of svn very transparently.
Others hit problems, particularly it seems in getting the right
versions of everything, which perhaps goes with the territory of
hooking in to both libsvn and bzrlib.

The architectural choice between extension through a programming
language API vs shell scripts is an interesting one, applicable to
many projects, and deserves a longer essay than I can write this
afternoon.  A shell-oriented interface is nice for ad-hoc scripting;
but there are downsides including complicating the user-facing
interface with things not intended for users (look at the number of
git manpages that say "don't use this command); making it harder to
evolve that interface; problems with error reporting (which you
mention) and the fact that this interface style basically does not
work on Windows.  On the other hand maintaining a stable api in Python
("everything is permitted") with monthly releases has not been a walk
in the park, and there are definitely things where writing a couple of
lines of shell would be better than writing a few lines of Python.

Using a shared repository per project in bzr is definitely the right
thing to do.

I was reminded today of this bug in git, where pushing to a remote
repository apparently permanently loses your uncommitted changes
<http://kerneltrap.org/mailarchive/git/2007/3/18/241553/thread>.
(It's possible it may have been fixed, which is why I dislike getting
into detailed commentary on projects I don't regularly use, but
apparently not.)  At any rate, the answer to the fact that this
obvious operation loses user data is "so don't do that".  There are
other cases.

We keep getting new users coming along saying they enjoy, understand
and appreciate Bazaar, and on the other hand seeing patches posted
that give good improvements - like for instance Robert's new
compression format compared to git.  So, I'm still finding it
interesting and worthwhile to work on.

-- 
Martin <http://launchpad.net/~mbp/>



More information about the bazaar mailing list