LWN.net Logo

Python switches to Mercurial

From:  Guido van Rossum <guido-AT-python.org>
To:  Python-Dev <python-dev-AT-python.org>
Subject:  And the winner is...
Date:  Mon, 30 Mar 2009 09:58:38 -0500
Message-ID:  <ca471dc20903300758s47fc922bpacaa4a5fb10a1dac@mail.gmail.com>
Archive-link:  Article, Thread

Dear Python developers,

The decision is made! I've selected a DVCS to use for Python. We're
switching to Mercurial (Hg).

The implementation and schedule is still up in the air -- I am hoping
that we can switch before the summer.

It's hard to explain my reasons for choosing -- like most language
decisions (especially the difficult ones) it's mostly a matter of gut
feelings. One thing I know is that it's better to decide now than to
spend another year discussing the pros and cons. All that could be
said has been said, pretty much, and my mind is made up.

To me, the advantages of using *some* DVCS are obvious. At PyCon,
Brett already announced that Git was no longer being considered --
while it has obviously many fans, it also provokes strong antipathies.
So it was between Hg and Bzr (both of which happen to be implemented
in Python FWIW). Based on a completely unscientific poll (basically
whatever feedback I received in my personal inbox or on Twitter), Hg
has a strong following among Python developers and few detractors,
while few (except Canonical employees) seem to like Bzr. In addition,
most timing experiments point towards Hg being faster than Bzr for
most operations, and Hg is (again, subjectively) easier to learn for
SVN users than Bzr.

-- 
--Guido van Rossum (home page: http://www.python.org/~guido/)
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/python-...



(Log in to post comments)

Python switches to Mercurial

Posted Mar 30, 2009 16:35 UTC (Mon) by HappyCamp (guest, #29230) [Link]

I do like the fact that they are using a DVCS system written in Python to manage the source code of Python. Has a nice "eat your own dog food" feel to it.

Python switches to Mercurial

Posted Mar 30, 2009 16:38 UTC (Mon) by agrover (subscriber, #55381) [Link]

Are they going to import the whole project's history, I wonder?

Python switches to Mercurial

Posted Mar 30, 2009 17:38 UTC (Mon) by Wummel (subscriber, #7591) [Link]

I really hope they migrate history data. Losing history for such a popular project would be a major drawback.

There are a lot of tools available for converting svn to hg, for example hgsvn. So there is no technical hurdle to migrate the history data.

Python switches to Mercurial

Posted Mar 30, 2009 18:14 UTC (Mon) by djc (subscriber, #56880) [Link]

I'm pretty sure they'll migrate (at least most of) the history.

BTW, hgsvn is kind of the ugly duckling of conversion solutions now. Use hgsubversion or hg's convert extension.

Python switches to Mercurial

Posted Apr 1, 2009 17:10 UTC (Wed) by zooko (subscriber, #2589) [Link]

I recommend tailor for converting histories between revision control tools:

http://wiki.darcs.net/DarcsWiki/Tailor

Python switches to Mercurial

Posted Apr 2, 2009 1:13 UTC (Thu) by avassalotti (guest, #45540) [Link]

The Mercurial mirror at http://code.python.org/hg/ has pretty much the whole history of Python.

How is Git's Mercurial to Git?

Posted Mar 30, 2009 22:30 UTC (Mon) by alex (subscriber, #1355) [Link]

Of course one good aspect of all the open DVCS's is a strong desire to
keep them interoperable as far as import/export operations go. I
already track a number of SVN projects in git and I suspect people
that prefer git can still do day to day work on Python with it without
touching Hg if they don't want to.

How is Git's Mercurial to Git?

Posted Apr 2, 2009 9:55 UTC (Thu) by Gollum (subscriber, #25237) [Link]

Yes, they are generally interoperable.

Except, as far as I know, Mercurial keeps some metadata versioned as well, which makes building a bidirectional git <-> Hg gateway difficult, as the SHA1 hashes don't quite match up, and can't easily be rebuilt.

How is Git's Mercurial to Git?

Posted Apr 5, 2009 16:47 UTC (Sun) by vonbrand (subscriber, #4458) [Link]

A Hg <--> git gateway is a must if they are going to use mercurial, IMHO...

Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds