Best way to debug git-hooks

Kashif Nazar picture Kashif Nazar · Jul 8, 2015 · Viewed 8.7k times · Source

What is the best way to debug git-hooks?

The way I prefer is adding statements to add output to a log file. For example, the following.

echo 'post-receive executed' >> hooks.log

Is there a better approach or way to do logging?

Answer

Ashutosh Jindal picture Ashutosh Jindal · Nov 15, 2016

This is an old question, but for future readers, one recommendation would be :

Debugging the hook as a shell script

I doubt that it is the script itself which needs to be looked at, however if that turns out to be the case, then the next step is to do what you normally would to debug shell scripts (since that is what the default commit-msg hook is).

I would start by changing the she-bang line from #!/bin/sh to #!/bin/sh -xv and then revel in the uber-verbose output as the script is executed when you do a git commit --amend