[Python-3000] The p3yk branch

Thomas Wouters thomas at python.org
Wed Dec 13 05:51:07 CET 2006

There's a few more people working on the p3yk branch now, I think (or at
least, there's been more work submitted than there used to :-), so I figure
it's time to explain about the p3yk branch again. I think I already said
most of these things once, anyway... it may have slipped my mind.

Development of Python 3000 happens in the p3yk branch (and the usual
submit-patches routine.) The p3yk branch is kept in sync with the trunk with
'svnmerge.py' (part of subversion's tools since 1.4, I think.) Usually (and
up to now entirely) by me, but I don't mind if someone else wants to step up
and learn the intense pain that is repeated merging in Subversion. If not,
well, I'm apparently a masochist.

Merging with svnmerge has a big consequence: changes that are applied to
both the trunk and the p3yk branch are hell. Doubly so when there's extra
changes ontop of the doubly-applied change in either or both branches. So,
please, if you have such a change, please only check it in on the trunk, and
have someone merge it using svnmerge. svnmerge can even be told to only
merge a specific set of changes (although you may run into hidden
dependencies that cause code to fail after the merge.) Merging between trunk
and p3yk is quite often difficult, but it gets a lot harder if both sides
are almost but not quite entirely like each other, you don't really know
what is supposed to have changed, and you don't know the code all that well
to begin with.

Also, it's very important changes have working tests. It's always important,
but even more so for the p3yk branch: if I fail to merge a change properly,
most likely the *only* way we'll ever find out[1] is when code fails. It's a
lot better if that code failure is during the execution of tests before the
merge gets checked in, as opposed to two months after Python 3.0 is

I haven't been merging at all, the last few months, because of trying to
finish up work at XS4ALL, but I expect to be much more available for these
things now that I started at Google. The trunk is less busy now, p3yk work
will hopefully pick up, and a whole bunch of python developers can call me
at work and tell me to do it. At least the p3yk branch is current now, as I
just committed a 4-month merge. (Good thing my python-development machine is
only a few meters away from the python.org subversion server :)

([1]: To be honest, considering the current state of branching/merging in
subversion as well as the sanity-preserving new stuff that will be in svn
1.5, I might re-build and re-merge the entire p3yk branch before we get to
actual Python 3.0 releases... it will serve to double-check my merging, and
give us proper history in the p3yk branch (and eventually the trunk), which
is immensely valuable.)

Thomas Wouters <thomas at python.org>

Hi! I'm a .signature virus! copy me into your .signature file to help me
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/python-3000/attachments/20061212/4ea5f1fc/attachment.htm 

More information about the Python-3000 mailing list