Re: [PATCH] difftool: always honor "command not found" exit code
- From
- Tom Tanner (BLOOMBERG/ LONDON) <ttanner2@bloomberg.net>
- Date
- Aug 15, 2016, 10:38 UTC
- Message-ID
- <57B19B9F0205070000390238_0_29566@p057>
Would it be possible to also treat signals (128 and above) as 'special' values as well (as I've seen some merge tools self destruct like that from time to time)
----- Original Message ----- From: gitster@pobox.com To: john@keeping.me.uk Cc: Tom Tanner (BLOOMBERG/ LONDON), davvid@gmail.com, git@vger.kernel.org At: 08/14/16 04:21:18
John Keeping <john@keeping.me.uk> writes:
Show 13 quoted lines
> At the moment difftool's "trust exit code" logic always suppresses the > exit status of the diff utility we invoke. This is useful because we > don't want to exit just because diff returned "1" because the files > differ, but it's confusing if the shell returns an error because the > selected diff utility is not found. > > POSIX specifies 127 as the exit status for "command not found" and 126 > for "command found but is not executable" [1] and at least bash and dash > follow this specification, while diff utilities generally use "1" for > the exit status we want to ignore. > > Handle 126 and 127 as special values, assuming that they always mean > that the command could not be executed.
Sounds like a reasonable thing to do. Will queue; thanks.