[Python-3000] The p3yk branch (original) (raw)

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

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 spread! -------------- 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