Re: t7800-difftool.sh failure on pu
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 29, 2012, 21:26 UTC
- Message-ID
- <7v7gy3qesv.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <4F74A604.3040402@ramsay1.demon.co.uk>
Ramsay Jones <ramsay@ramsay1.demon.co.uk> writes:
Show 26 quoted lines
> Hi Tim,
>
> With the current pu branch, I have t7800.3 (difftool ignores bad --tool values)
> failing on Linux (I haven't tried cygwin or mingw yet). The failure is caused
> by the test for the value of the exit code; for me the exit code is 9 not 1.
>
> I have investigated, briefly, and found *two* alternatives for a fix. ;-)
>
> The first option is to (effectively) revert commit 0440ed72 ("difftool: replace
> system call with Git::command_noisy", 22-03-2012), like so:
>
> -- >8 --
> diff --git a/git-difftool.perl b/git-difftool.perl
> index e1754ff..49613b1 100755
> --- a/git-difftool.perl
> +++ b/git-difftool.perl
> @@ -237,5 +237,7 @@ if (defined($dirdiff)) {
>
> $ENV{GIT_PAGER} = '';
> $ENV{GIT_EXTERNAL_DIFF} = 'git-difftool--helper';
> - git_cmd_try { Git::command_noisy(('diff', @ARGV)) } 'exit code %d';
> + my @command = ('git', 'diff', @ARGV);
> + my $rc = system(@command);
> + exit($rc | ($rc >> 8));
> }
> -- 8< --I would prefer this, regardless of the issue.
I actually recall asking Tim about the exit status when I reviewed this change.