Re: [PATCH] difftool: honor --trust-exit-code for builtin tools
- From
- Mikael Magnusson <mikachu@gmail.com>
- Date
- Nov 16, 2014, 01:51 UTC
- Message-ID
- <CAHYJk3Q9tcS+o0hDnDz24ysSKkL6m16OmhyHuj=W88VQjTximw@mail.gmail.com>
- In-Reply-To
- <xmqqy4rd1mdw.fsf@gitster.dls.corp.google.com>
On Fri, Nov 14, 2014 at 10:51 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 29 quoted lines
> David Aguilar <davvid@gmail.com> writes:
>
>> run_merge_tool() was not setting $status, which prevented the
>> exit code for builtin tools from being forwarded to the caller.
>>
>> Capture the exit status and add a test to guarantee the behavior.
>>
>> Reported-by: Adria Farres <14farresa@gmail.com>
>> Signed-off-by: David Aguilar <davvid@gmail.com>
>> ---
>> git-mergetool--lib.sh | 1 +
>> t/t7800-difftool.sh | 5 +++++
>> 2 files changed, 6 insertions(+)
>>
>> diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh
>> index a40d3df..2b66351 100644
>> --- a/git-mergetool--lib.sh
>> +++ b/git-mergetool--lib.sh
>> @@ -221,6 +221,7 @@ run_merge_tool () {
>> else
>> run_diff_cmd "$1"
>> fi
>> + status=$?
>> return $status
>> }
>
> Thanks for a quick turn-around. As a hot-fix for what is already in
> -rc I am fine with this fix but the patch makes me wonder if $status
> as a global shell variable has any significance.$status is an alias for $? in zsh, and so cannot be assigned to. But other than that I don't think it holds any meaning and should be fine in a .sh script.
-- Mikael Magnusson