BDFL decision of Python's DVCS
Michael B. Trausch
mike at trausch.us
Tue Mar 31 18:28:49 BST 2009
On Tue, 31 Mar 2009 12:47:41 +0000 (UTC)
Lalo Martins <lalo.martins at gmail.com> wrote:
> So no point in trying to deny what is true :-) It would be more
> useful to dispel the notion that it's a Canonical-only tool, or even
> Canonical- centric. But I don't know how to do that, sorry.
This is hard to do; Bazaar is also a GNU project, and yet GNU seems to
not be really using it. GNOME just moved to git, for example, and
things like the libc don't appear to have any intention of moving away
from CVS. Even if they do, it's likely that they will go with git,
since there is already a git mirror of the libc CVS repository, and it
seems that for whatever reason, Launchpad is unwilling or unable to
mirror glibc (the initial import was taking "too many resources," was
the message I got back, so it was suspended).
Now, personally? I checked out hg, git, and bzr some time ago. I was
looking for a VCS to use and moving away from Subversion. I wanted
something relatively quick, simple, and that stayed out of my way.
That last reason was probably my biggest reason for choosing bzr; it
stays out of my way until I want it. I don't have to do anything
special with it, and it leverages the filesystem for branches. I hate
git's "branches all exist in a single repository on disk" model, and
find it confusing. In SVN if I wanted to work with branches, I had
them in different directories, and so that just seems natural to me.
I think that---at least IMHO---the repository formats should become
stable very soon, though, so that there is an excellent chance that
they will become consistent between everyone's branches everywhere.
That's pretty important, and from the next repository format or two
there needs to be only backwards-compatible changes made until 2.0 or
something. (I think that major version numbers make sense to introduce
new features that aren't exactly backwards-compatible, it sends a clear
message to users that this is a new major release.)
Other than that, bzr's integration with other systems could be improved;
it's already quite excellent playing with Subversion, and I hope that
one day bzr will have very good support for working with git, hg, cvs,
and so forth. I think it'd be great if I could branch directly from
(and commit directly to) a CVS repository like I can a Subversion
repository. Alright, so that might never be possible, but it'd be
nice. Support for other strange systems like Monotone would be pretty
nifty, too. Again, not sure how feasible that would be, though.
All of that said, maybe Python decided not to use bzr, precisely
because it is written in the very language that they are working on. A
hellish day that would be if they broke Python enough that they
wouldn't be able to interact with their VCS... Maybe the decision came
down to "I have systems X and Y, but I really don't want to be
depending on Python so much that if Python breaks, so does our VCS" and
that would be why hg was picked.
So now, he just uses a VCS whose full name means "liable to sudden
unpredictable change; 'erratic behavior', 'fickle weather'". Hrm. ;-)
--- Mike
More information about the bazaar
mailing list