[Python-Dev] Mercurial conversion repositories

Antoine Pitrou solipsis at pitrou.net
Fri Feb 25 01:19:04 CET 2011


Georg and I have been working on converting the SVN repository to
Mercurial. We can now present you a test repository (actually, two).

CPython repository: http://hg.python.org/cpython/

This is the main conversion repository. It contains all history of
trunk and py3k (since 1990!) up to now, including all maintenance
branches starting from 2.0 up to 3.2.

If you are a core developer, get your local clone of the repository

    $ hg clone ssh://hg@hg.python.org/cpython

(this uses the same SSH key as your Subversion access; for more
information about Mercurial and SSH keys, see the converted development
FAQ: http://potrou.net/hgdevguide/faq.html#faq )

If you are not a core developer:

    $ hg clone http://hg.python.org/cpython

Your clone will contain the following branches:

    $ hg branches
    default                    68026:f12ef116dd10
    3.2                        68025:cef92ee1a323
    2.7                        68010:8174d00d0797
    3.1                        67955:5be8b695ea86
    2.6                        67287:5e26a860eded
    2.5                        65464:e4ecac76e499
    trunk                      62750:800f6c92c3ed
    3.0                        60075:1d05144224fe
    2.4                        58552:df72cac1899e
    2.3                        45731:a3d9a9730743
    2.2                        40444:d55ddc8c8501
    2.1                        30171:06fcccf6eca8
    2.0                        18214:dc0dfc9565cd

The branch "default" is the current py3k branch from SVN. The branch
"trunk" represents SVN trunk history until 2.7 was branched for

The full list of tags is too long to print here, but you can get it

    $ hg tags

The size of the repository on-disk is (depending on your filesystem):

    $ du -hs .hg
    176M    .hg

(the size of the network transfer is estimated to be around 80MB)

You can commit and even push to this repository (the latter if you are a
core developer).  Since this is a test repository, whatever you push
will be discarded when we do the final conversion.

CPython with extra history: http://hg.python.org/cpythonextrahist/

This repository is bigger, and has a much more complicated topology. It
is a superset of the other repository, and contains the totality of the
branches from the SVN repository (it has more than 450 repository
heads, of which 87 non-closed). It also weighs quite a bit more:

    $ du -hs .hg
    248M    .hg

This repository is unnecessary for development work, since even for
history-digging purposes the normal repository has the necessary
information. This repository is only to preserve historical record of
some of the non-trunk development work from the SVN repository (such
as orphaned/deleted feature branches).

Development guide: http://potrou.net/hgdevguide/

This is the development guide adapted for Mercurial.  You can get its
sources from the branch "hg_transition" in



More information about the Python-Dev mailing list