mirror of
https://github.com/git/git.git
synced 2024-12-11 19:03:50 +08:00
51 lines
929 B
Bash
51 lines
929 B
Bash
|
#!/bin/sh
|
||
|
|
||
|
echo "/* Automatically generated by $0 */
|
||
|
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")
|
||
|
sed -n '
|
||
|
/^NAME/,/git-'"$cmd"'/H
|
||
|
${
|
||
|
x
|
||
|
s/.*git-'"$cmd"' - \(.*\)/ {"'"$cmd"'", N_("\1"), '$tag'},/
|
||
|
p
|
||
|
}' "Documentation/git-$cmd.txt"
|
||
|
done
|
||
|
echo "};"
|