34 lines
493 B
Bash
Executable File
34 lines
493 B
Bash
Executable File
#!/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.txt |
|
|
LC_ALL=C sort
|
|
|
|
cat <<EOF
|
|
NULL,
|
|
};
|
|
EOF
|
|
|
|
} >"$OUTPUT"
|