From time to time, commands may fail for different reasons. Patcher tracks command failures and lets you know when that happens.
The first thing Patcher does is to check the external processes exit
codes. A non-zero exit code will normally trigger a Patcher error. There
is however one notable exception: cvs diff
has this incredibly
stupid idea of returning an exit code of 1 when the diff succeeds, and
is non-empty. Because of this, Patcher provides an option named
:ignore-diff-status
that is set to t
in the CVS theme.
There should be no reason to use it in any other context.
Next, Patcher looks for specific strings in process output. The
:failed-command-regexp
project option lets you specify a regular
expression to match with the output of an aborted command. In the CVS
built-in theme for example (see Themes), the value is ‘"^cvs
\\[[^]]* aborted\\]"’.