[IPython-dev] Shutdown __del__ methods bug

Fernando Perez fperez.net at gmail.com
Wed Oct 27 20:32:28 EDT 2010


On Tue, Oct 26, 2010 at 2:30 AM, Hans Meine <hans_meine at gmx.net> wrote:
> I don't know git very well, but with Mercurial I would simply repeat the
> merge, check whether it worked this time, and then diff the two results, in
> order to see what got reverted.
>
> At least that should give you much less than the full diff.

I just wanted to report on this issue.  We pretty much did what you
suggest above, and carefully looked at what happened.  There's still a
minor mystery lingering as to why the commit

http://github.com/ipython/ipython/commit/239d2ed6f44c3f6511ee1e9069a5a1aee9c20f9c

appears in the DAG as a single-parent commit without any trace of it
being actually a merge (which it was).  How that came to be, we have
no clue.

But what happened to the content, we do know: that merge caused two
conflicts in interactiveshell.py, in the reset() method:

http://github.com/ipython/ipython/commit/239d2ed6f44c3f6511ee1e9069a5a1aee9c20f9c#L0L967

and Min inadvertedly resolved them incorrectly, throwing away some
valid code.  We manually verified that Thomas 're-apply' commit had
completely reconstructed the lost code, and that current trunk has
100% of what was meant to go there, so we have no problem left.

And we now know that there  are no other possibly hidden landmines:
the only issue was with the two conflicts,  the error was in only one
of them, and Thomas already fixed it, so we're completely OK.

I'm not really worried now, because we understand what happened: a
manual mistake in resolving a merge conflict is something that can
happen to anyone, and not a big deal.  What I was worried about was
the possibility of other hidden changes we might not have noticed, but
that's not the case.

In any case, a special thanks to Thomas for pinpointing the source of
the problem and even providing the actual fix!

Cheers,

f



More information about the IPython-dev mailing list