Christian Heimes schrieb:
I suggest that we should use branches to a greater extend. New features or updates of existing code should happen on a branch.
A branch must not be merged until it's tested on all major platforms (Linux i386, Linux AMD64, Mac OS X and Win32) and peer reviewed by another developer.
+1 for the major platforms, -0 for the peer review.
During my time as a Zope and Plone developer and at various XP sprints I've utilized the branch development and peer reviewing workflow with great success. I assume the majority of Python developers don't do branches because it's an expensive and annoying operation with svn.
Actually I don't find branching expensive - why so you think so? Annoying - hm, no, I'm not sure. The only additional work that should be done is to merge the branch when (if!) it's ready, delete the branch when it is not needed any more, and remove the local branch checkout(s).
Well branching isn't so annoying but merging and keeping a branch up to date definitely is. Once we have a VCS with cheap branching and easy merging we should switch to branched development.
Well, svnmerge makes keeping a branch up to date pretty painless imo.
I did the pep3118 implementation for ctypes in a separate branch, I did upgrade the years-old libffi in a separate branch, maybe even more.
This worked well for me, and the big advantage was that I coud trigger builds for these branches on the buildbots on platforms where I have no other access to.