With this commit, the error output is required to exist in order for an
instance to be considered done. This is just a defensive measure to
ensure that no useful information can be missed.
This enforces all Git commands that are absolutely relevant for keeping
the benchmark running to succeed. If they don’t, an error is immediately
thrown. This doesn’t include fetching and pushing, because syncing the
data is still possible after downtimes, for example.
The Git history is sufficient for viewing past status messages.
Additionally, long status log files tend to take long to render. With
this commit, only the most recent 100 lines are kept, and this number
can be configured.