From: David Aguilar Date: Sat, 31 Mar 2012 04:05:30 GMT Subject: Re: t7800-difftool.sh failure on pu Message-ID: In-Reply-To: <7v7gy3qesv.fsf@alter.siamese.dyndns.org> On Thu, Mar 29, 2012 at 2:26 PM, Junio C Hamano wrote: > Ramsay Jones writes: > >> 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. I would also prefer this. A question for the msysgit/cygwin folks: would we need to go back to use "git.exe" as well? -- David