diff options
Diffstat (limited to 'generate-hooklist.sh')
-rwxr-xr-x | generate-hooklist.sh | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/generate-hooklist.sh b/generate-hooklist.sh new file mode 100755 index 0000000000..e0cdf26944 --- /dev/null +++ b/generate-hooklist.sh @@ -0,0 +1,33 @@ +#!/bin/sh +# +# Usage: ./generate-hooklist.sh >hook-list.h + +SOURCE_DIR="$1" +OUTPUT="$2" + +if test -z "$SOURCE_DIR" || ! test -d "$SOURCE_DIR" || test -z "$OUTPUT" +then + echo >&2 "USAGE: $0 <SOURCE_DIR> <OUTPUT>" + exit 1 +fi + +{ + +cat <<EOF +/* Automatically generated by generate-hooklist.sh */ + +static const char *hook_name_list[] = { +EOF + +sed -n \ + -e '/^~~~~*$/ {x; s/^.*$/ "&",/; p;}' \ + -e 'x' \ + <"$SOURCE_DIR"/Documentation/githooks.adoc | + LC_ALL=C sort + +cat <<EOF + NULL, +}; +EOF + +} >"$OUTPUT" |