Emily Shaffer
b72153d36e
hook: allow parallel hook execution
...
Hooks always run in sequential order due to the hardcoded jobs == 1
passed to run_process_parallel(). Remove that hardcoding to allow
users to run hooks in parallel (opt-in).
Users need to decide which hooks to run in parallel, by specifying
"parallel = true" in the config, because git cannot know if their
specific hooks are safe to run or not in parallel (for e.g. two hooks
might write to the same file or call the same program).
Some hooks are unsafe to run in parallel by design: these will marked
in the next commit using RUN_HOOKS_OPT_INIT_FORCE_SERIAL.
The hook.jobs config specifies the default number of jobs applied to all
hooks which have parallelism enabled.
Signed-off-by: Emily Shaffer <emilyshaffer@google.com >
Helped-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com >
Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com >
Signed-off-by: Junio C Hamano <gitster@pobox.com >
2026-03-02 17:30:40 -08:00
..
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-10-02 12:26:12 -07:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-06-30 11:11:36 -07:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-05-27 07:50:58 -07:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-05-27 15:31:06 -07:00
2025-10-22 10:40:11 -07:00
2025-01-21 12:56:06 -08:00
2026-02-17 13:30:41 -08:00
2025-01-21 12:56:06 -08:00
2025-02-14 17:53:47 -08:00
2025-02-14 17:53:47 -08:00
2026-01-12 11:56:56 -08:00
2025-01-21 12:56:06 -08:00
2025-07-07 06:26:21 -07:00
2025-11-19 15:00:37 -08:00
2025-01-21 12:56:06 -08:00
2025-05-27 07:51:00 -07:00
2025-05-12 15:30:12 -07:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-06-02 17:21:49 -07:00
2025-01-21 12:56:06 -08:00
2025-07-14 10:07:02 -07:00
2025-01-21 12:56:06 -08:00
2025-12-09 07:38:56 +09:00
2025-01-21 12:56:06 -08:00
2025-02-14 17:53:47 -08:00
2026-03-02 17:30:40 -08:00
2025-06-02 17:21:49 -07:00
2025-01-21 12:56:06 -08:00
2025-06-20 08:11:17 -07:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2026-01-12 11:56:56 -08:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-08-08 09:14:46 -07:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-10-24 13:42:45 -07:00
2025-01-21 12:56:06 -08:00
2025-06-13 11:54:14 -07:00
2025-08-25 12:42:45 -07:00
2025-02-14 17:53:47 -08:00
2025-05-16 12:15:39 -07:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-09-08 10:30:55 -07:00
2025-01-21 12:56:06 -08:00
2025-07-21 15:01:21 -07:00
2025-11-19 15:00:45 -08:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-03-18 12:21:25 -07:00
2025-01-21 12:56:06 -08:00
2025-06-23 15:41:38 -07:00
2025-11-05 13:34:55 -08:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-08-12 08:59:36 -07:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-10-20 14:12:17 -07:00
2025-01-21 12:56:06 -08:00
2026-01-12 11:56:55 -08:00
2025-10-05 16:09:03 -07:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-02-14 17:53:47 -08:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-01-21 12:56:06 -08:00
2025-10-05 16:09:03 -07:00