On Fri, Nov 1, 2013 at 12:20 AM, Junio C Hamano <gits...@pobox.com> wrote: > Duy Nguyen <pclo...@gmail.com> writes: > >> OK how about, if $GIT_DIR/hooks/something is a directory, then the >> directory must contain a file named "index", listing all the hooks of >> type "something". All the hooks in "index" will be executed in the >> listing order. > > Hooks that take arbitrary amount of information from the body read > their standard input. How are your multiple hooks supposed to > interact?
If each only needs to read a few lines from stdin, they can do so in order. If two hooks need to read till the end of stdin, they are incompatible. If we support some sort of hook signature, we could warn the user when they combine the two. If not, the second's failing (because stdin is already closed) may show the incompatibility. "git hook" should support dry-run mode to test out new combinations. > Hooks that prevent you from doing something stupid signal allow/deny > with their exit code. Do you fail a commit if any of your pre-commit > hook fails, or is it OK to commit as long as one of them says so? > If the former, do all the hooks described in the index still run, or > does the first failure short-cut the remainder? One failed hook fails the commit and stops the remaining from executing. You can skip the hook if you want with --exclude-hooks. -- Duy -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html