@@ -41,38 +41,6 @@ static void get_system_info(struct strbuf *sys_info)
static void get_populated_hooks(struct strbuf *hook_info, int nongit)
{
- /*
- * NEEDSWORK: Doesn't look like there is a list of all possible hooks;
- * so below is a transcription of `git help hooks`. Later, this should
- * be replaced with some programmatically generated list (generated from
- * doc or else taken from some library which tells us about all the
- * hooks)
- */
- static const char *hook[] = {
- "applypatch-msg",
- "pre-applypatch",
- "post-applypatch",
- "pre-commit",
- "pre-merge-commit",
- "prepare-commit-msg",
- "commit-msg",
- "post-commit",
- "pre-rebase",
- "post-checkout",
- "post-merge",
- "pre-push",
- "pre-receive",
- "update",
- "post-receive",
- "post-update",
- "push-to-checkout",
- "pre-auto-gc",
- "post-rewrite",
- "sendemail-validate",
- "fsmonitor-watchman",
- "p4-pre-submit",
- "post-index-change",
- };
int i;
if (nongit) {
@@ -81,9 +49,9 @@ static void get_populated_hooks(struct strbuf *hook_info, int nongit)
return;
}
- for (i = 0; i < ARRAY_SIZE(hook); i++)
- if (hook_exists(hook[i], HOOKDIR_USE_CONFIG))
- strbuf_addf(hook_info, "%s\n", hook[i]);
+ for (i = 0; i < hook_name_count; i++)
+ if (hook_exists(hook_name[i], HOOKDIR_USE_CONFIG))
+ strbuf_addf(hook_info, "%s\n", hook_name[i]);
}
static const char * const bugreport_usage[] = {
@@ -5,6 +5,40 @@
#include "run-command.h"
#include "prompt.h"
+/*
+ * NEEDSWORK: Doesn't look like there is a list of all possible hooks;
+ * so below is a transcription of `git help hooks`. Later, this should
+ * be replaced with some programmatically generated list (generated from
+ * doc or else taken from some library which tells us about all the
+ * hooks)
+ */
+const char *hook_name[] = {
+ "applypatch-msg",
+ "pre-applypatch",
+ "post-applypatch",
+ "pre-commit",
+ "pre-merge-commit",
+ "prepare-commit-msg",
+ "commit-msg",
+ "post-commit",
+ "pre-rebase",
+ "post-checkout",
+ "post-merge",
+ "pre-push",
+ "pre-receive",
+ "update",
+ "post-receive",
+ "post-update",
+ "push-to-checkout",
+ "pre-auto-gc",
+ "post-rewrite",
+ "sendemail-validate",
+ "fsmonitor-watchman",
+ "p4-pre-submit",
+ "post-index-change",
+};
+int hook_name_count = ARRAY_SIZE(hook_name);
+
void free_hook(struct hook *ptr)
{
if (ptr) {
@@ -4,6 +4,9 @@
#include "strvec.h"
#include "run-command.h"
+extern const char *hook_name[];
+extern int hook_name_count;
+
struct hook {
struct list_head list;
/*
The list of hooks will need to be used outside bugreport, so move it to a central location. Signed-off-by: Jonathan Tan <jonathantanmy@google.com> --- builtin/bugreport.c | 38 +++----------------------------------- hook.c | 34 ++++++++++++++++++++++++++++++++++ hook.h | 3 +++ 3 files changed, 40 insertions(+), 35 deletions(-)