[PATCH STABLE] parsers: raise an unambiguous type during index lookup (issue4451)

Gregory Szorc gregory.szorc at gmail.com
Wed Jun 10 15:44:57 CDT 2015


On Wed, Jun 10, 2015 at 10:45 AM, Matt Mackall <mpm at selenic.com> wrote:

> On Wed, 2015-06-10 at 09:50 -0700, Gregory Szorc wrote:
> > # HG changeset patch
> > # User Gregory Szorc <gregory.szorc at gmail.com>
> > # Date 1433955009 25200
> > #      Wed Jun 10 09:50:09 2015 -0700
> > # Branch stable
> > # Node ID 1b4b923551c0a37c129b1d1c530448685e5ca2a2
> > # Parent  7298da81f5a9f64ebbdef2b2195585a65da0f99e
> > parsers: raise an unambiguous type during index lookup (issue4451)
> >
> > Previously, index lookups would attempt to raise RevlogError when the
> > lookup failed. This worked in most circumstances. However, in
> > environments where there could be multiple Python interpreters, this
> > could fail.
>
> I know I suggested this approach yesterday, but it breaks our C/Python
> coupling rule. In particular, if I compile this version and update
> backwards without recompiling to bisect something, I'm now broken.
>
> Also, the simplest and lowest-risk fix is simply to drop static, right?
> That's the kind of fix we strongly prefer on the stable branch.
>
>
Yes, dropping static is one fix (and really the only one if we want old
Python compatible with new C extension). Although unclear performance
impact - I'm not sure how frequently we look up unknown nodes. Presumably
not a lot?

I'll attempt a patch to remove static once I grok how refcounting works
from C.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20150610/6ad33c20/attachment.html>


More information about the Mercurial-devel mailing list