After some thorough research, I see why this is the way it is. Not all git subcommands which create or update the commit message go through the same code paths and most (aside from git commit) cannot safely trigger this hook.
There are other hooks which could be used for some of these, but only by for example embedding the change-id into the commit message template and requiring the user to uncomment it by explicitly amending that commit. I found nothing which was any easier or less confusing than the current workarounds.
After some thorough research, I see why this is the way it is. Not all git subcommands which create or update the commit message go through the same code paths and most (aside from git commit) cannot safely trigger this hook.
http:// git.661346. n2.nabble. com/git- revert- doesn-t- run-commit- msg-hook- td7559622. html
http:// git.661346. n2.nabble. com/cherry- pick-pre- commit- hook-td5815961. html
There are other hooks which could be used for some of these, but only by for example embedding the change-id into the commit message template and requiring the user to uncomment it by explicitly amending that commit. I found nothing which was any easier or less confusing than the current workarounds.