git, nagios and hooks, corrupted git repo
Solution 1:
You're doing:
export GIT_WORK_TREE=/tmp/nagiosworkdir
/usr/bin/git checkout -f $NEW_SHA1
in your hook. Although it's not touching your usual working-copy it is updating references in the git-dir (specifically the HEAD
reference), as shown in your error:
...
remote: HEAD is now at da71aed... syntax error
...
Your hook is doing exit 1
to reject the update, but it's not (re)resetting the HEAD
reference after failure.
I think you need to update the failure branch in your hook like so:
...
if [ "$NAGIOS_CHECK_STATUS" -ne 0 ]
then
echo "Your configs did not parse correctly, there was an error. Output follows."
cat $GIT_WORK_TREE/check.out
/usr/bin/git reset --hard $OLD_SHA1 # <-- Add This
exit 1
else
...