Re: [PATCH] difftool: always honor "command not found" exit code
flat view
From: Tom Tanner (BLOOMBERG/ LONDON) <hidden>
Date: 2016-08-15 10:38:28
From: Tom Tanner (BLOOMBERG/ LONDON) <hidden>
Date: 2016-08-15 10:38:28
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: <redacted> To: <redacted> Cc: Tom Tanner (BLOOMBERG/ LONDON), <redacted>, <redacted> At: 08/14/16 04:21:18 John Keeping [off-list ref] writes:
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.