Subject: Re: [PATCH v7 00/17] propose config-based hooks (part I)

From: Josh Steadmon <[email-masked]>
Date: Tue, 16 Feb 2021 11:46:11 -0800

On 2020.12.21 16:02, Emily Shaffer wrote:
> Since v6:
> 
>  - Converted 'enum hookdir_opt' to UPPER_SNAKE
>  - Coccinelle fix in the hook destructor
>  - Fixed a bug where builtin/hook.c wasn't running the default git config setup
>    and therefore missed hooks in core.hooksPath when it was set. (These hooks
>    would still run except when invoked by 'git hook run' as the config was
>    called by the processes which invoked the hook library.)
> 
> CI run: https://github.com/nasamuffin/git/actions/runs/436864964
> 
> Thanks!
>  - Emily
> 
> Emily Shaffer (17):
>   doc: propose hooks managed by the config
>   hook: scaffolding for git-hook subcommand
>   hook: add list command
>   hook: include hookdir hook in list
>   hook: respect hook.runHookDir
>   hook: implement hookcmd.<name>.skip
>   parse-options: parse into strvec
>   hook: add 'run' subcommand
>   hook: replace find_hook() with hook_exists()
>   hook: support passing stdin to hooks
>   run-command: allow stdin for run_processes_parallel
>   hook: allow parallel hook execution
>   hook: allow specifying working directory for hooks
>   run-command: add stdin callback for parallelization
>   hook: provide stdin by string_list or callback
>   run-command: allow capturing of collated output
>   hooks: allow callers to capture output
> 
>  .gitignore                                    |   1 +
>  Documentation/Makefile                        |   1 +
>  Documentation/config/hook.txt                 |  19 +
>  Documentation/git-hook.txt                    | 117 +++++
>  Documentation/technical/api-parse-options.txt |   5 +
>  .../technical/config-based-hooks.txt          | 355 +++++++++++++++
>  Makefile                                      |   2 +
>  builtin.h                                     |   1 +
>  builtin/bugreport.c                           |   4 +-
>  builtin/fetch.c                               |   1 +
>  builtin/hook.c                                | 176 ++++++++
>  builtin/submodule--helper.c                   |   2 +-
>  command-list.txt                              |   1 +
>  git.c                                         |   1 +
>  hook.c                                        | 416 ++++++++++++++++++
>  hook.h                                        | 154 +++++++
>  parse-options-cb.c                            |  16 +
>  parse-options.h                               |   4 +
>  run-command.c                                 |  85 +++-
>  run-command.h                                 |  31 ++
>  submodule.c                                   |   1 +
>  t/helper/test-run-command.c                   |  46 +-
>  t/t0061-run-command.sh                        |  37 ++
>  t/t1360-config-based-hooks.sh                 | 256 +++++++++++
>  24 files changed, 1717 insertions(+), 15 deletions(-)
>  create mode 100644 Documentation/config/hook.txt
>  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
> 

Sorry for the delayed reply. I am happy with this series as-is. Thanks
for all your work on it!

Reviewed-by: Josh Steadmon <[email-masked]>