Output

The trigger script uses the result code to communicate the result of its execution. UVCS interprets these result codes as one of the following:

  • Zero (0): Trigger finished correctly. Operation can continue.
  • Non-zero (>0): Trigger failed. Operation cannot continue.

When a trigger fails, UVCS sends the standard output of the trigger to the client as an error message:

  • If the result is non-zero for a before trigger, the operation cancels, and the client displays the error.
  • If the result is non-zero for an after trigger, the operation has been already performed and can't undo. The client displays the exception.

When a server-side trigger fails because the executable is missing, the server treats it as a non-zero exit code.

However, starting on UVCS (previously Plastic SCM) version 8.0.16.3388, when a client-side trigger fails because the executable is missing, the client treats it as a zero exit code.

The error registers as a zero exit code in case you want to distribute your client-side triggers through your repository.

Note: If triggers such as before-mkworkspace, after-mkworkspace, before-setselector, after-setselector, and before-update fail with a non-zero exit code because the trigger executable isn't downloaded to your workspace, you need to remove the trigger configuration, run the operation, and configure the trigger again.