Git fork
1#!/bin/sh
2#
3# Usage: ./generate-hooklist.sh >hook-list.h
4
5SOURCE_DIR="$1"
6OUTPUT="$2"
7
8if test -z "$SOURCE_DIR" || ! test -d "$SOURCE_DIR" || test -z "$OUTPUT"
9then
10 echo >&2 "USAGE: $0 <SOURCE_DIR> <OUTPUT>"
11 exit 1
12fi
13
14{
15
16cat <<EOF
17/* Automatically generated by generate-hooklist.sh */
18
19static const char *hook_name_list[] = {
20EOF
21
22sed -n \
23 -e '/^~~~~*$/ {x; s/^.*$/ "&",/; p;}' \
24 -e 'x' \
25 <"$SOURCE_DIR"/Documentation/githooks.adoc |
26 LC_ALL=C sort
27
28cat <<EOF
29 NULL,
30};
31EOF
32
33} >"$OUTPUT"