Needing feedback on the Python developer's guide

Greg Ward greg at gerg.ca
Mon Feb 28 03:28:11 UTC 2011


On 26 February 2011, Antoine Pitrou said:
> However, we have a couple of unresolved questions/issues with workflow
> suggestions:
> 
> - how do we suggest people backport patches from the default branch (which is
> for 3.x development) to the 2.7 maintenance branch? Our branch structure is more
> complex than the traditional stable/default separation, since we have two
> independent maintenance branches (2.7 and 3.2) in addition to the default
> development branch (the future 3.3). Oh, and we already have security fixes-only
> branches (2.5, 2.6, soon 3.1), but let's ignore that for the moment ;)

Backporting is bad.  Merging forward is good.  If it's possible to
arrange things so that there is a natural order of branches (say, 2.5 ->
2.6 -> 2.7 -> 3.1 -> 3.2 -> trunk), that would be good.  That's a long
chain of merges for the rare security fixes on 2.5, but it's a sane and
sensible order.

I've always felt this way about Python's workflow; back when I
occasionally worked on Python, I did my bug fixes on a release branch
and then merged forwards.  It just seemed right, and the normal backport
worfklow seemed wrong.

BTW, the reason *why* backports are bad can be explained in one word:
dependencies.  If I commit a change to trunk or 3.2, it is much more
likely to depend on infrastructure (or even subtle bug fixes) present in
that version.  If I then try to backport it, it's more likely to not
work.  But if I have a working patch on an old version, it's more likely
to keep working as I merge to progressively later branches.

Or at least, that's the theory.  ;-)

        Greg
-- 
Greg Ward                                http://www.gerg.ca/
If you don't have anything nice to say, come sit by me.
     --Dorothy Parker



More information about the Mercurial mailing list