mirror of
https://github.com/git/git.git
synced 2024-09-28 20:51:42 +02:00
This makes it easier to reuse the same code in another place (very soon). Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
55 lines
978 B
Bash
Executable File
55 lines
978 B
Bash
Executable File
#!/bin/sh
|
|
|
|
get_synopsis () {
|
|
sed -n '
|
|
/^NAME/,/'"$1"'/H
|
|
${
|
|
x
|
|
s/.*'"$1"' - \(.*\)/N_("\1")/
|
|
p
|
|
}' "Documentation/$1.txt"
|
|
}
|
|
|
|
echo "/* Automatically generated by generate-cmdlist.sh */
|
|
struct cmdname_help {
|
|
char name[16];
|
|
char help[80];
|
|
unsigned char group;
|
|
};
|
|
|
|
static const char *common_cmd_groups[] = {"
|
|
|
|
grps=grps$$.tmp
|
|
match=match$$.tmp
|
|
trap "rm -f '$grps' '$match'" 0 1 2 3 15
|
|
|
|
sed -n '
|
|
1,/^### common groups/b
|
|
/^### command list/q
|
|
/^#/b
|
|
/^[ ]*$/b
|
|
h;s/^[^ ][^ ]*[ ][ ]*\(.*\)/ N_("\1"),/p
|
|
g;s/^\([^ ][^ ]*\)[ ].*/\1/w '$grps'
|
|
' "$1"
|
|
printf '};\n\n'
|
|
|
|
n=0
|
|
substnum=
|
|
while read grp
|
|
do
|
|
echo "^git-..*[ ]$grp"
|
|
substnum="$substnum${substnum:+;}s/[ ]$grp/$n/"
|
|
n=$(($n+1))
|
|
done <"$grps" >"$match"
|
|
|
|
printf 'static struct cmdname_help common_cmds[] = {\n'
|
|
grep -f "$match" "$1" |
|
|
sed 's/^git-//' |
|
|
sort |
|
|
while read cmd tags
|
|
do
|
|
tag=$(echo "$tags" | sed "$substnum; s/[^0-9]//g")
|
|
echo " {\"$cmd\", $(get_synopsis git-$cmd), $tag},"
|
|
done
|
|
echo "};"
|