Jesus Cea wrote:
> On 03/02/11 13:04, Nick Coghlan wrote:
>> On Thu, Feb 3, 2011 at 10:37 AM, Jesus Cea <j...@jcea.es> wrote:
>>> In fact, "up-porting" is usually better, because you don't have to think
>>> if you must downport or not. Versión "n+1" is always a superset of
>>> versión "n". So you "up-port" *ALWAYS*, automatically (mostly) via merge.
> 
>> As I said, I'm happy to roll with the proposed workflow as documented
>> in the PEP, based on the advice from experts that Mercurial doesn't
>> really suit our current work flow. I'm just noting that I expect the
>> result will be fewer fixes in maintenance branches, since it is harder
>> to divide the tasks of implementing a fix for the main line of
>> development and applying that fix to the maintenance branches (unlike
>> the way it often happens now).
> 
> The problem now is that patches in the development branch are
> "forgotten" and not backported when appropiate, and nobody cares about
> "blocking" versions to "not backport". Now running "svnmerge" to do a
> real merge is very risky, because the "blocking" is not actually
> maintained. People uses "svnmerge" backporting patch by patch, manually.
> Automatic mode is a disaster, because nobody cares about "blocking" in
> "svnmerge".

What's wrong about manually using svnmerge to backport those
things that you actually do want to backport, rather than
automatically merging back changes that you don't want to be
backported ?

Note that blocking checkins from backports to certain branches
adds more work to the developers, than simply not relying on
automatic merges at all. The reason is that many new features
will not get backported, only fixes to problems will.

> If we up-port, no patch is forgotten. The rule should be: "patches in
> n+1 are a SUPERSET of patches in n". With this rule, mercurial takes
> care of everything (a patch in n+1 can 'undo' a patch up-ported from n,
> if needed, keeping the rule).

Mercurial is still a mystery to me, so please bare with me...

Is there a technical requirement for having to use this workflow:

1) Patch -> Branch 3.1 -> Branch 3.2 -> Mainline

Why can't we use our current workflow:

2) Patch -> Mainline (optionally) -> Branch 3.2
                     (optionally) -> Branch 3.1

Or perhaps a slightly modified one (if it suits Mercurial better):

3) Patch -> Mainline (optionally) -> Branch 3.2 (optionally) -> Branch 3.1

(Legend to the diagrams: "->" means "merge patch into")

Note that 2) could just as well be done like this:

2) Patch -> Mainline (optionally) -> Branch 3.1
                     (optionally) -> Branch 3.2

i.e. the order of the backports doesn't matter.

I don't understand why the developers have to follow the tools and
not the tools the developers. If a tool doesn't fit, it's the wrong
tool, IMHO, unless there are good reasons for changing you workflow
because it allows the *workflow* to improve (rather than just permitting
you to work with a specific tool). In other words: change is good
if it improves things, not if it only changes things :-)

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Feb 04 2011)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

::: Try our new mxODBC.Connect Python Database Interface for free ! ::::


   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611
               http://www.egenix.com/company/contact/
_______________________________________________
python-committers mailing list
python-committers@python.org
http://mail.python.org/mailman/listinfo/python-committers

Reply via email to