Thursday, June 3, 2010

Why hasn't Django moved to Git or Hg yet?

This is a question that has been bothering me a lot recently. But it bothers someone else even more and for longer time.

Oh yes, this "someone else" are the core developers of Django. I believe I've seen their response to this question for multiple times and I think it makes a lot of sense. Everytime I feel bothered again, I'd read this response and peace will come back. So here is one of those responses from RKM on the developer group:

Moving to git will change *exactly nothing* in Django's development process. There will *always* be an "official" repository. Commit access to that core repository will be limited. It doesn't matter whether that repository is git, svn, or hg - there will always be a single, canonical, exclusive repository for trunk.

If you want to use Git to help you manage your own source code or your contributions to Django, you're welcome to do so. There are well maintained git mirrors that you can use as a starting point. There are many people in the Django community using this mirror to manage their
own development work. Allow me to assure you that if you have a git branch that is worth pulling, someone in the Django core will be able to pull that branch and merge it into SVN trunk without *any* difficulty. Multi-db, for instance, was almost entirely developed by
Alex Gaynor on his github branch.

And this is completely independent of the bike shed argument of which DVCS we will adopt. This isn't even remotely a settled argument. By making an official move to git, we would alienate a large community that, for better or worse, can't move their production platforms to git. It also alienates the hg and bzr communities, which is a not insignificant consideration (for the record, there are also well maintained hg and bzr mirrors).

No comments: