]>
Commit | Line | Data |
---|---|---|
9cbfbe24 ML |
1 | #!/bin/sh |
2 | ||
3 | # Script to describe a GCC revision based on git hash | |
4 | ||
5 | short=no | |
6 | long=no | |
88b9d090 | 7 | c=HEAD |
9cbfbe24 ML |
8 | |
9 | for arg in "$@" | |
10 | do | |
11 | case "$arg" in | |
12 | --short) short=yes long=no | |
13 | ;; | |
14 | --long|--full) long=yes short=no | |
15 | ;; | |
16 | *) c=$arg | |
17 | esac | |
18 | done | |
19 | ||
20 | if test x$short = xyes; then | |
ff060ef0 | 21 | r=$(git describe --all --match 'basepoints/gcc-[0-9]*' $c | sed -n 's,^tags/,,;s,^basepoints/gcc-\([0-9][0-9]*\)-\([0-9][0-9]*\)-g[0-9a-f]*$,r\1-\2,p;s,^basepoints/gcc-\([0-9][0-9]*\)$,r\1-0,p'); |
9cbfbe24 | 22 | elif test x$long = xyes; then |
ff060ef0 | 23 | r=$(git describe --all --abbrev=40 --match 'basepoints/gcc-[0-9]*' $c | sed -n 's,^tags/,,;s,^basepoints/gcc-,r,p') |
9cbfbe24 | 24 | else |
ff060ef0 | 25 | r=$(git describe --all --abbrev=14 --match 'basepoints/gcc-[0-9]*' $c | sed -n 's,^tags/,,;s,^basepoints/gcc-,r,p') |
10ecf518 | 26 | expr ${r:-no} : 'r[0-9]\+$' >/dev/null && r=${r}-0-g$(git rev-parse $c); |
9cbfbe24 ML |
27 | fi; |
28 | if test -n $r; then | |
29 | o=$(git config --get gcc-config.upstream); | |
30 | rr=$(echo $r | sed -n 's,^r\([0-9]\+\)-[0-9]\+\(-g[0-9a-f]\+\)\?$,\1,p'); | |
31 | if git rev-parse --verify --quiet ${o:-origin}/releases/gcc-$rr >/dev/null; then | |
32 | m=releases/gcc-$rr; | |
33 | else | |
34 | m=master; | |
35 | fi; | |
36 | git merge-base --is-ancestor $c ${o:-origin}/$m && echo ${r}; | |
37 | fi; |