BrightLight / RepoCop

RepoCop is a repository hook framework written in C#
3 stars 2 forks source link

CommandLineInstruction: Implement support for fire and forget instructions #15

Closed steffen-wilke closed 6 years ago

steffen-wilke commented 6 years ago

The current implementation of the CommandLineInstruction waits for the process to finish with a certain timeout specified. While this is useful for checks that should not fail, it might slow down the commit process when executing post-commit steps that are not mandatory or the outcome is not relevant for the commit process.

Imagine you want to track something in an internal database or dump a range of revisions. If you use the post-commit hook for this, it would currently slow down the commit process on the developers machine.

(The same currently applies to the MailInstruction, but that's a different topic I guess.)

Target State: Implement the possibility to configure the "execution mode" for CommandLineInstructions. There could be two modes:

with WaitForExit being chosen if nothing is specified.