John Keeping <j...@keeping.me.uk> writes:

> Here's what that looks like.

Sounds good.  It feels a bit funny to see that new mentions of
$status are unquoted (which is totally valid because we know it has
$? that cannot be anything other than a short decimal integer),
while the one in the post-context quotes it, but that's not a huge
issue.

Will queue.  Thanks.

>  git-difftool--helper.sh | 7 +++++++
>  t/t7800-difftool.sh     | 6 ++++++
>  2 files changed, 13 insertions(+)
>
> diff --git a/git-difftool--helper.sh b/git-difftool--helper.sh
> index 84d6cc0..7bfb673 100755
> --- a/git-difftool--helper.sh
> +++ b/git-difftool--helper.sh
> @@ -86,6 +86,13 @@ else
>       do
>               launch_merge_tool "$1" "$2" "$5"
>               status=$?
> +             if test $status -ge 126
> +             then
> +                     # Command not found (127), not executable (126) or
> +                     # exited via a signal (>= 128).
> +                     exit $status
> +             fi
> +
>               if test "$status" != 0 &&
>                       test "$GIT_DIFFTOOL_TRUST_EXIT_CODE" = true
>               then
> diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh
> index 2974900..70a2de4 100755
> --- a/t/t7800-difftool.sh
> +++ b/t/t7800-difftool.sh
> @@ -124,6 +124,12 @@ test_expect_success PERL 'difftool stops on error with 
> --trust-exit-code' '
>       test_cmp expect actual
>  '
>  
> +test_expect_success PERL 'difftool honors exit status if command not found' '
> +     test_config difftool.nonexistent.cmd i-dont-exist &&
> +     test_config difftool.trustExitCode false &&
> +     test_must_fail git difftool -y -t nonexistent branch
> +'
> +
>  test_expect_success PERL 'difftool honors --gui' '
>       difftool_test_setup &&
>       test_config merge.tool bogus-tool &&
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to