Subject: Re: [PATCH] ll-merge: killing the external merge driver aborts the merge

From: Junio C Hamano <[email-masked]>
Date: Tue, 27 Jun 2023 13:04:16 -0700

Joshua Hudson <[email-masked]> writes:

> On 6/27/2023 12:08 PM, Junio C Hamano wrote:
>> Johannes Schindelin <[email-masked]> writes:
>>
>>> On Fri, 23 Jun 2023, Junio C Hamano wrote:
>>>
>>>> Junio C Hamano <[email-masked]> writes:
>>>>
>>>>> Elijah Newren <[email-masked]> writes:
>>>>>
>>>>>> Reviewed-by: Elijah Newren <[email-masked]>
>>>>>
>>>>> Thanks for a quick review.
>>>> Unfortunately Windows does not seem to correctly detect the aborting
>> Sorry, I did not mean "abort(3)" literally.  What I meant was that
>> an external merge driver that gets spawned via the run_command()
>> interface may not die by calling exit()---like "killed by signal"
>> (including "segfaulting").  The new test script piece added in the
>> patch did "kill -9 $$" to kill the external merge driver itself,
>> which gets reported as "killed by signal" from run_command() by
>> returning the signal number + 128, but that did not pass Windows CI.
>>
> Do you need me to provide a windows test harness?

Sorry, I do not understand the question.

FWIW how "external merge driver that kills itself by sending a
signal to itself does not get noticed on Windows" appears in our
tests can be seen at

https://github.com/git/git/actions/runs/5360824580/jobs/9727137272

The job is "win test(0)", part of our standard Windows test harness
implemented as part of our GitHub Actions CI test.

Thanks.