On Thu, Jun 17, 2021 at 12:09:36PM +0200, Ævar Arnfjörð Bjarmason wrote:
quoted hunk ↗ jump to hunk
diff --git a/generate-hooklist.sh b/generate-hooklist.sh
new file mode 100755
index 0000000000..5a3f7f849c
--- /dev/null
+++ b/generate-hooklist.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+echo "/* Automatically generated by generate-hooklist.sh */"
+
+print_hook_list () {
+ cat <<EOF
+static const char *hook_name_list[] = {
+EOF
+ perl -ne '
Why Perl?
At the moment I can run 'make' and get a functioning git even when
Perl is not installed. With this patch that wouldn't work anymore.
Both 'generate-cmdlist.sh' and 'generate-configlist.sh' can process
the documentation into a header file with a long list in it without
resorting to Perl; I'm sure that hooks could be processed without Perl
as well.
+ chomp;
+ @l[$.] = $_;
+ push @h => $l[$. - 1] if /^~~~+$/s;
+ END {
+ print qq[\t"$_",\n] for sort @h;
+ }
+ ' <Documentation/githooks.txt
+ cat <<EOF
+ NULL,
+};
+EOF
+}
+
+echo
+print_hook_list