[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