[PATCH] hgwatchman: new experimental extension
Sean Farley
sean at farley.io
Tue Mar 1 16:54:32 EST 2016
Gregory Szorc <gregory.szorc at gmail.com> writes:
>> On Mar 1, 2016, at 10:35, Augie Fackler <raf at durin42.com> wrote:
>>
>>> On Tue, Mar 01, 2016 at 04:14:36PM +0000, Martijn Pieters wrote:
>>>> On 1 March 2016 at 15:58, Yuya Nishihara <yuya at tcha.org> wrote:
>>>> Isn't it a library?
>>>>
>>>> https://pypi.python.org/pypi/pywatchman
>>>>
>>>> IIRC, last time we discussed about bundling "re2", we decided not to.
>>>
>>> Golly, I didn't even know it was distributed separately on PyPI. I
>>> still would prefer bundling this inside the extension though;
>>> batteries included and all that. Otherwise you need to ask end users
>>> to install 2 pieces of software rather than one, where watchman is a
>>> binary and doesn't require knowledge of how Python package installs
>>> work.
>>
>> If we're going to bundle it, we should probably bundle it in exactly
>> one place and also bundle it for core hg so that ignore gets faster.
>>
>> Probably worth having a "mercurial.thirdparty" namespace so it's easy
>> for distros to split out the vendored libraries.
>
> Agreed.
>
> Regarding re2, I believe a major difference with it is a run-time or build-time dependency on a shared/static library (libre2). AFAIK pywatchman is a self-contained Python package with no such dependencies. Although looking at its source, I may be very wrong here. What we want to avoid is DLL hell and introducing new build dependencies.
We could at least include pyre2, right?
More information about the Mercurial-devel
mailing list