User Configured pre-receive or post-receive Hooks Break After Upgrading Stash
Symptoms
User configured pre or post receive hooks are not working after upgrading Stash.
Cause
If you added a pre-receive or post-receive hook, upon upgrading to Stash 2.0 or later, these will be moved to <STASH_HOME>/data/repositories/<NNN>/hooks/pre-receive.d/10_custom or <STASH_HOME>/data/repositories/<NNN>/hooks/post-receive.d/10_custom.
We replace the <STASH_HOME>/data/repositories/<NNN>/hooks/pre-receive and <STASH_HOME>/data/repositories/<NNN>/hooks/post-receive hook with our own that will call out to all the hooks in the .../hooks/pre-recieve.d and .../hooks/post-recieve.d directories in order.
NNN is the internal repository id.
If your custom hook references other scripts using relative path names (e.g. ./foo.sh or ../dir/foo.sh) these will break and the hook will stop working.