[PATCH 4 of 5 import-refactor] hg: gracefully handle PyPy

Gregory Szorc gregory.szorc at gmail.com
Mon Nov 23 22:22:16 CST 2015


On Mon, Nov 23, 2015 at 8:01 PM, Gregory Szorc <gregory.szorc at gmail.com>
wrote:

> On Mon, Nov 23, 2015 at 12:00 PM, Pierre-Yves David <
> pierre-yves.david at ens-lyon.org> wrote:
>
>>
>>
>> On 11/23/2015 11:16 AM, Gregory Szorc wrote:
>>
>>> On Sun, Nov 22, 2015 at 9:08 PM, Pierre-Yves David
>>> <pierre-yves.david at ens-lyon.org <mailto:pierre-yves.david at ens-lyon.org>>
>>> wrote:
>>>
>>>
>>>
>>>     On 11/22/2015 08:09 PM, Gregory Szorc wrote:
>>>
>>>         On Sun, Nov 22, 2015 at 7:45 PM, Pierre-Yves David
>>>         <pierre-yves.david at ens-lyon.org
>>>         <mailto:pierre-yves.david at ens-lyon.org>
>>>         <mailto:pierre-yves.david at ens-lyon.org
>>>         <mailto:pierre-yves.david at ens-lyon.org>>>
>>>         wrote:
>>>
>>>
>>>
>>>              On 11/21/2015 10:14 PM, Gregory Szorc wrote:
>>>
>>>                  # HG changeset patch
>>>                  # User Gregory Szorc <gregory.szorc at gmail.com
>>>         <mailto:gregory.szorc at gmail.com>
>>>                  <mailto:gregory.szorc at gmail.com
>>>         <mailto:gregory.szorc at gmail.com>>>
>>>                  # Date 1448168629 28800
>>>                  #      Sat Nov 21 21:03:49 2015 -0800
>>>                  # Node ID 1101c57a493083f9fd3dc2eb7832f862c587cd5a
>>>                  # Parent  b1f0ae9d3abf60a1326e305237c31ce3fee7262b
>>>                  hg: gracefully handle PyPy
>>>
>>>                  PyPy isn't compatible with C extensions nor the on
>>>         demand module
>>>                  import
>>>                  mechanism.
>>>
>>>
>>>              First 4 pushed to the clowncopter. Nice rework.
>>>
>>>              Check commit complains about find_module name, but I'll
>>>         ignore that.
>>>
>>>
>>>         There's nothing we can do about that: "find_module" is part of
>>> the
>>>         import hook interface, which is defined by Python itself.
>>>
>>>
>>>     And that is why I'll ignore it ;-)
>>>
>>>     However this series is breaking test-extensions.t when running from
>>>     repository without local build (make local never ran). The pure
>>>     finding logic apparently get confused when trying to generate
>>>     __version__.py leading to the Mercurial to be isntall with -0+0 as a
>>>     version number.
>>>
>>>     Can you look into that and send me a followup quickly ?
>>>
>>>
>>> I'm unable to reproduce. Do you have more exact STR? (I think I'm
>>> getting the run-tests.py arguments wrong.)
>>>
>>
>> cd tests
>> hg purge --all
>> ./run-tests.py test-extensions.y
>
>
> OK. This is a "fun" regression.
>
> Basically, setup.py is adding "mercurial/pure" to PYTHONPATH. This allows
> the `hg log` and `hg id` invocations performed as part of calculating the
> version string to work if no C extensions are present.
>
> This issue is fixed in the dropped part 5 by changing setup.py to perform
> the `hg` invocations with an import policy of "python only."
>
> Since this regression only seems to impact test-extension.t and rewriting
> the series to avoid the regression would involve a bit of work, is it
> acceptable if I send along a proper part 5 [as opposed to rewriting the
> series]? Feel free to drop this series from clowncopter in the interim.
>
>
Actually, please drop the entire series: I need to rewrite a clowncoptered
patch to avoid a worse regression.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20151123/c27ff138/attachment.html>


More information about the Mercurial-devel mailing list