On Thu, Feb 24, 2011 at 16:19, Antoine Pitrou <solipsis@pitrou.net> wrote:


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

Thanks to the both of you for moving this forward!

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

Just to help justify it in my head, the trunk branch exists for the history and nothing more, right? I mean we are not even accepting commits on it after we branched so I assume there is no real new history there compared to 2.7. Could we actually close the branch so it isn't even visible by default to prevent confusing people?


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).

Just to give a comparison to svn, release-27maint is 243M and py3k is 231M (and that is with `make distclean` run). IOW the complete history of all branches of Python is just 5M bigger than just a checkout of 2.7.


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



Python-Dev mailing list
Unsubscribe: http://mail.python.org/mailman/options/python-dev/brett%40python.org