This series of patches adds a prepare-commit-msg hook. The prepare-commit-msg hook is run whenever a "fresh" commit message is prepared, just before it is shown in the editor (if it is). It can modify the commit message in-place and/or abort the commit. I implemented Alex Riesen's suggestion to tell the hook where the message came from, and now run the hook even if the editor is not run. Patches 1 and 2 are small changes. Patch 1 changes run_hook to accept a variable-length NULL-terminated list of arguments. Patch 2 forces GIT_EDITOR to : if editor will not be launched; this is the simplest way I found to tell the prepare-commit-msg hook whether the editor will be launched. Patch 3 is bigger; it refactors parts of git-commit to do all the log message processing at the same time. Currently the message is prepared soon, but only edited after the first part of the commit object is prepared. This simplifies a little the code for part 4. Part 4 actually adds the hook, including documentation and testcases. The hook takes two parameters. The first is the source of the commit message (detailed more in the commit message and in the docs), which is either an English word or a commit SHA1. The second parameter if the name of the file that the commit log message. Signed-off-by: Paolo Bonzini <bonzini@xxxxxxx> - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html