[Python-Dev] Python 2.5 and ast-branch

Brett Cannon bcannon at gmail.com
Fri Oct 7 05:48:40 CEST 2005


On 10/6/05, Guido van Rossum <guido at python.org> wrote:
> [Kurt]
> > > Unless I'm missing something, we would need to merge HEAD to the AST
> > > branch once more to pick up the changes in MAIN since the last merge,
> > > and then make sure everything in the AST branch is passing the test
> > > suite.  Otherwise we risk having MAIN broken for awhile following a
> > > merge.
>
> [Raymond]
> > IMO, merging to the head is a somewhat dangerous strategy that doesn't
> > have any benefits.  Whether done on the head or in the branch, the same
> > amount of work needs to be done.
> >
> > If the stability of the head is disrupted, it may impede other
> > maintenance efforts because it is harder to test bug fixes when the test
> > suites are not passing.
>
> Well, at some point it will HAVE to be merged into the head. The
> longer we wait the more painful it will be. If we suffer a week of
> instability now, I think that's acceptable, as long as all developers
> are suitably alerted, and as long as the AST team works towards
> resolving the issues ASAP.
>
> I happen to agree with Kurt that we should first merge the head into
> the branch; then the AST team can work on making sure the entire test
> suite passes; then they can merge back into the head.
>
> BUT this should only be done with a serious commitment from the AST
> team (I think Neil and Jeremy are offering this -- I just don't know
> how much time they will have available, realistically).
>
> My main point is, we should EITHER abandon the AST branch, OR force a
> quick resolution. I'm willing to suffer a week of instability in head
> now, or in a week or two -- but I'm not willing to wait again.
>
> Let's draw a line in the sand. The AST team (which includes whoever
> will help) has up to three weeks to het the AST branch into a position
> where it passes all the current unit tests merged in from the head.
> Then they merge it into the head after which we can accept at most a
> week of instability in the head. After that the AST team must remain
> available to resolve remaining issues quickly.
>

So basically we have until November 1 to get all tests passing?

For anyone who wants a snapshot of where things stand,
http://www.python.org/sf/1191458 lists the tests that are currently
failing (read the comments to get the current list; count is at 14). 
All AST-related tracker items are under the AST group so filtering to
just AST stuff is easy.

I am willing to guess a couple of those tests will start passing as
soon as http://www.python.org/sf/1246473 is dealt with (this is just
based on looking at some of the failure output seeming to be off by
one).  As of right now the lnotab is only has statement granularity
when it really needs expression granularity.  That requires tweaking
all instances where an expression node is created to also take in the
line number of where the expression exists.  This fix is one of the
main reasons I have not touched the AST branch; it is not difficult,
but it is not exactly fun or small either.  =)

> How does this sound to the non-AST-branch developers who have to
> suffer the inevitable post-merge instability? I think it's now or
> never -- waiting longer isn't going to make this thing easier (not
> with several more language changes approved: with-statement, extended
> import, what else...)
>
> What does the AST team think?
>

Well, I have homework this weekend, a midterm two weeks from tomorrow
(so the preceding weekend will be studying), and October 23 is my
birthday so I will be busy that entire weekend visiting family.  In
other words Python time is a premium this month.  But I will try to
squeeze in what time I can.

But I think the three week time frame is reasonable to light the fire
under our asses to get this thing done (especially if it inspires
people to jump in and help out; as always, people interested in
joining in, check out the branch and read Python/compile.txt ).

-Brett


More information about the Python-Dev mailing list