aboutsummaryrefslogtreecommitdiff
path: root/hook.c
diff options
context:
space:
mode:
authorEmily Shaffer <emilyshaffer@google.com>2026-02-19 00:23:47 +0200
committerJunio C Hamano <gitster@pobox.com>2026-02-19 13:23:41 -0800
commit9fdaa6788924d4bb5ffc3a5908dae8a50e072f77 (patch)
tree326b5d2e0fc66a44080600b9f93c17f71ca3d778 /hook.c
parent4a36cb4c9f0f508db2e5dda75673e0d4b1242007 (diff)
downloadgit-9fdaa6788924d4bb5ffc3a5908dae8a50e072f77.tar.xz
hook: add "git hook list" command
The previous commit introduced an ability to run multiple commands for hook events and next commit will introduce the ability to define hooks from configs, in addition to the "traditional" hooks from the hookdir. Introduce a new command "git hook list" to make inspecting hooks easier both for users and for the tests we will add. Further commits will expand on this, e.g. by adding a -z output mode. Signed-off-by: Emily Shaffer <emilyshaffer@google.com> Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'hook.c')
-rw-r--r--hook.c17
1 files changed, 2 insertions, 15 deletions
diff --git a/hook.c b/hook.c
index c008a7232d..979a97a538 100644
--- a/hook.c
+++ b/hook.c
@@ -61,7 +61,7 @@ static void hook_clear(struct hook *h, cb_data_free_fn cb_data_free)
free(h);
}
-static void hook_list_clear(struct string_list *hooks, cb_data_free_fn cb_data_free)
+void hook_list_clear(struct string_list *hooks, cb_data_free_fn cb_data_free)
{
struct string_list_item *item;
@@ -101,20 +101,7 @@ static void list_hooks_add_default(struct repository *r, const char *hookname,
string_list_append(hook_list, hook_path)->util = h;
}
-/*
- * Provides a list of hook commands to run for the 'hookname' event.
- *
- * This function consolidates hooks from two sources:
- * 1. The config-based hooks (not yet implemented).
- * 2. The "traditional" hook found in the repository hooks directory
- * (e.g., .git/hooks/pre-commit).
- *
- * The list is ordered by execution priority.
- *
- * The caller is responsible for freeing the memory of the returned list
- * using string_list_clear() and free().
- */
-static struct string_list *list_hooks(struct repository *r, const char *hookname,
+struct string_list *list_hooks(struct repository *r, const char *hookname,
struct run_hooks_opt *options)
{
struct string_list *hook_head;