Since v3, the biggest change is the conversion of commit hooks to use the new hook machinery. The first change ("commit: use config-based hooks") is the important part; the second change ("run_commit_hook: take strvec instead of varargs") is probably subjective, but I thought it was a decent tech debt reduction. I wanted to send this reroll quickly since I had promised it in standup last week, but I've got pretty good progress locally on the patch for configuring "hook.runHookDir"; I'm planning to send that soon, probably this week. - Emily Emily Shaffer (9): doc: propose hooks managed by the config hook: scaffolding for git-hook subcommand hook: add list command hook: add --porcelain to list command parse-options: parse into strvec hook: add 'run' subcommand hook: replace run-command.h:find_hook commit: use config-based hooks run_commit_hook: take strvec instead of varargs .gitignore | 1 + Documentation/Makefile | 1 + Documentation/git-hook.txt | 63 ++++ Documentation/technical/api-parse-options.txt | 5 + .../technical/config-based-hooks.txt | 354 ++++++++++++++++++ Makefile | 2 + builtin.h | 1 + builtin/commit.c | 49 +-- builtin/hook.c | 107 ++++++ builtin/merge.c | 23 +- commit.c | 12 +- commit.h | 5 +- git.c | 1 + hook.c | 155 ++++++++ hook.h | 19 + parse-options-cb.c | 16 + parse-options.h | 4 + sequencer.c | 15 +- t/t1360-config-based-hooks.sh | 115 ++++++ ...3-pre-commit-and-pre-merge-commit-hooks.sh | 13 + 20 files changed, 918 insertions(+), 43 deletions(-) create mode 100644 Documentation/git-hook.txt create mode 100644 Documentation/technical/config-based-hooks.txt create mode 100644 builtin/hook.c create mode 100644 hook.c create mode 100644 hook.h create mode 100755 t/t1360-config-based-hooks.sh -- 2.28.0.rc0.142.g3c755180ce-goog