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